Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 10.03.2010, 04:47
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 18  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
chabapok:
Могли бы и на первую страницу заглянуть

dimarik:
Ну так все от задачи зависит. Скажем, до Asm'a там далеко, но все-таки соптимизировать конкатенацию и вообще работу со строками (т.е. с массивами примитовов вообще) на уровне флешевого байткода еще как можно.
Т.е. например то, как написал chabapok для больших объемов информации делать не стоит т.как это будет дублировать строки при каждой конкатенации (на фоне этого многократный вызов геттера length - мелочь). А вообще - можно конкретно под конкатенацию заточить функцию так чтобы, например третий сверху регист хранил ссылку на часть, которую нужно скопировать, четвертый - на уже скопированую, ворой и первый - на инкремент и значение которое нужно добавить к инкременту - описать такую структуру на AS никак не получится т.как нам обязательно нужна ссылка, чтобы ее в регистр положить, а используя такой метод у нас этой ссылки не будет. В HaXe похожую штуку осуществляет StringBuf. Ну а в AS по бедности можно использовать массив, или самому лист написать, по скорости разницы скорее всего не будет между листом и массивом, но оба выиграют у конкатенации, если складывать нужно много строк.

EDIT: Но, опять же есть тривиальные решения, которые просто реализовать и они будут работать с вменяемой производительностью, и есть заведомо нехорошие. Ни один из предложеных выше вариантов не является заведомо плохим, поэтому как бы и спорить нет смысла. Но можно расшибится в лепешку и соптимизировать цикл с использованием небезопасных поинтеров, передачей значений "наугад" по адресу регистра или через джампы и т.п.
Писать на AS стоит потому, что писать и дебажить байткод дико сложно, но за простоту мы платим производительностью, т.как написать идеальный компилятор не возможно
Или то будет вот так:
http://xkcd.com/371/
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 10.03.2010 в 05:05.
Создать новую тему   Часовой пояс GMT +4, время: 17:49.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:49.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.