|
|
|||||
Регистрация: Jul 2012
Сообщений: 148
|
Нагрузка на CPU и память
Какой из вариантов менее затратный и правильный с точки зрения программирования?
1. private var rect:Rectangle; public function mirrored():Rectangle { rect = new Rectangle(0, 0, 10, 10); return rect; } public function mirrored():Rectangle { var rect:Rectangle = new Rectangle(0, 0, 10, 10); return rect; } PS: переменная rect больше нигде не используется. |
|
|||||
Третий. Почему не первый: потому что обращение к полю класса, всегда медленнее, чем обращение к локальной переменной.
Почему не второй: потому что нет смысла в данном случае сначала создавать переменную, а потом опять ее брать и возвращать, если других манипуляций с ней не планируется Но это все такие мелочи, что стоит предавать им значение, только если производительность критически важна и нужно выжать каждую каплю |
|
|||||
Регистрация: Jul 2012
Сообщений: 148
|
Спасибо, именно эти мелочи сейчас подчищаю и каждая капля на счету
|
|
|||||
.
|
Не заметите улучшения производительности именно из-за такого рода оптимизации. Разница прочувствуется только на сотнях миллионов операций. Увлекитесь лучше скаутом. Отличный профайлер.
|
|
|||||
Регистрация: Jul 2012
Сообщений: 148
|
Скаутом? Он у меня дает данные только по ролику, открытому в браузере. Не очень удобно
|
|
|||||
Регистрация: Mar 2006
Адрес: Ростов-на-Дону
Сообщений: 80
|
Самым оптимальным решением будет сделать пул обьектов для Rectangle. т.к. самая трудоёмкая операция в вашем коде это "new" создание обьекта. В Actionscripte нет структур, поэтому большинство, ну например, физ движков реализуют такой пул для обьектов типа Point, Vector, Rectangle и т.д.
|
|
|||||
Регистрация: Jul 2012
Сообщений: 148
|
Может, шеф поделится своим коронным рецептом?
|
|
|||||
.
|
Можно воспользоваться связкой ScoutEnabler и Fiddler 2. Enabler'ом пройдитесь по флешке из кеша, затем фиддлером подмените ее при загрузки из вэба. Scout автоматом подцепит ее и покажет всю статистику, включая память и тайминги.
|
Часовой пояс GMT +4, время: 22:58. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|