Тесты скорости каждодневных операций
Чтобы мне самому не забыть.
Результаты отсортированны в порядке увеличения времени исполнения.
В будущем буду пополнять.
Тест на 100 миллионов итераций:
(num & 1) - просто какая-то операция.
Код:
b:Boolean b=Boolean(num & 1) time: 281 b = !!(num & 1) time: 285 b = (num & 1) && true time: 305
Код:
var s:String; var a:String = "Мама "; var b:String = "мыла "; var c:String = " гаубицу"; s = a + b + c time: 3006 s = "".concat(a, b, c) time: 7921
Код:
var a:String = "134"; integer = int(a) time: 7260 integer = parseInt(a) time: 9487
Код:
var s:*=new MovieClip(); var s2:Sprite; s2 = s as Sprite time: 5438 s2 = Sprite(s): 10610
Всего комментариев 18
Комментарии
![]() ![]() |
|
к слову об оптимизации: http://code.google.com/p/apparat/
вот что нашел. тестов не приведу потому что не до этого а ссылкой поделюсь =) |
![]() ![]() |
|
Вот еще немного: «19 способов повысить производительность ActionScript 3.0 приложений»
|
![]() ![]() |
|
Я вот достаточно много в последнее время видел тут. Есть интересные вещи(но и откровенных глупостей, к сожалению, достаточно много).
|
![]() ![]() |
|
в последнем примере инстанс не создается в первом случае
|
![]() ![]() |
|
Terrorist, не понял о чем ты.
|
![]() ![]() |
|
![]() ![]() |
|
Вся соль что мы приводим неизвестно что к Sprite`у через Sprite(s) и s as Sprite. Я мерил скорость кастинга, те 2 строчки выложил чтобы люди понимали о чём вообще речь.
|
![]() ![]() |
|
Спасибо за поддержку, мне важно.
Желание читателя - закон, сейчас подправлю цвета. |
![]() ![]() |
|
Красненький можно было оставить. Спасибо)
Нубский вопрос насчет операторов: !!(num & 1) расшифруй, пожалуйста |
![]() ![]() |
|
Цитата:
!! - операторы съедят друг друга
Спасибо за разъяснение) |
![]() ![]() |
|
а зачем ты мерил это?
Код:
b = (num & 1) as Boolean time: 6176 не запоминайте слудущие: Цитата:
Что запомнить: as кастует быстрее сложные типы, медленно кастует простые типы.
Почему: видимо он не может перекастовать простые типы, потому что каждый экземпляр простого типа уникален. В итоге это дело даёт null, и мы пытаемся в простой тип записать null и у нас не получается. Как в таком случае работает, например int(value) - неясно. as - занимается приведением типов type() - занимается конвертированием |
|
Обновил(-а) BlooDHounD 30.08.2010 в 17:12
|
![]() ![]() |
|
![]() ![]() |
|
Всё, теперь понял. Большое спасибо.
|
![]() ![]() |
|
Очень интересная статья )
О скорости кастования можно судить только эмпирическим путем или какие-то научные статьи существуют? Тигра, сократи нули в статье по СИ (10000000000 = 1e10, например). |
|
Обновил(-а) dimarik 30.08.2010 в 22:10
|
![]() ![]() |
|
Я сужу эмпирически.
Сократил до словесных форм, так будет понятней начинающим читателям. ) |
Последние записи от Psycho Tiger
- Тонкости и трюки ActionScript`а, которые... бесполезны (10.05.2011)
- Vkontakte: как пользоваться wall.post, нужен ли теперь wall.savePost? (05.03.2011)
- А пятый контер-страйк хорош. (19.01.2011)
- Пацаны, гоу Вконтакте? (21.12.2010)
- Давайте начистоту (18.12.2010)