Тесты скорости каждодневных операций
Чтобы мне самому не забыть.
Результаты отсортированны в порядке увеличения времени исполнения.
В будущем буду пополнять.
Тест на 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
Комментарии
27.08.2010 02:39 | |
к слову об оптимизации: http://code.google.com/p/apparat/
вот что нашел. тестов не приведу потому что не до этого а ссылкой поделюсь =) |
27.08.2010 10:41 | |
Вот еще немного: «19 способов повысить производительность ActionScript 3.0 приложений»
|
27.08.2010 23:38 | |
Я вот достаточно много в последнее время видел тут. Есть интересные вещи(но и откровенных глупостей, к сожалению, достаточно много).
|
28.08.2010 12:44 | |
в последнем примере инстанс не создается в первом случае
|
28.08.2010 13:07 | |
Terrorist, не понял о чем ты.
|
28.08.2010 15:17 | |
29.08.2010 16:12 | |
Вся соль что мы приводим неизвестно что к Sprite`у через Sprite(s) и s as Sprite. Я мерил скорость кастинга, те 2 строчки выложил чтобы люди понимали о чём вообще речь.
|
29.08.2010 20:53 | |
Спасибо за поддержку, мне важно.
Желание читателя - закон, сейчас подправлю цвета. |
29.08.2010 20:58 | |
Красненький можно было оставить. Спасибо)
Нубский вопрос насчет операторов: !!(num & 1) расшифруй, пожалуйста |
29.08.2010 22:14 | |
Цитата:
!! - операторы съедят друг друга
Спасибо за разъяснение) |
30.08.2010 17:09 | |
а зачем ты мерил это?
Код:
b = (num & 1) as Boolean time: 6176 не запоминайте слудущие: Цитата:
Что запомнить: as кастует быстрее сложные типы, медленно кастует простые типы.
Почему: видимо он не может перекастовать простые типы, потому что каждый экземпляр простого типа уникален. В итоге это дело даёт null, и мы пытаемся в простой тип записать null и у нас не получается. Как в таком случае работает, например int(value) - неясно. as - занимается приведением типов type() - занимается конвертированием |
|
Обновил(-а) BlooDHounD 30.08.2010 в 17:12
|
30.08.2010 19:18 | |
30.08.2010 20:10 | |
Всё, теперь понял. Большое спасибо.
|
30.08.2010 22:07 | |
Очень интересная статья )
О скорости кастования можно судить только эмпирическим путем или какие-то научные статьи существуют? Тигра, сократи нули в статье по СИ (10000000000 = 1e10, например). |
|
Обновил(-а) dimarik 30.08.2010 в 22:10
|
30.08.2010 22:32 | |
Я сужу эмпирически.
Сократил до словесных форм, так будет понятней начинающим читателям. ) |
Последние записи от Psycho Tiger
- Тонкости и трюки ActionScript`а, которые... бесполезны (10.05.2011)
- Vkontakte: как пользоваться wall.post, нужен ли теперь wall.savePost? (05.03.2011)
- А пятый контер-страйк хорош. (19.01.2011)
- Пацаны, гоу Вконтакте? (21.12.2010)
- Давайте начистоту (18.12.2010)