пятница, июня 16, 2006

AS3: Number rulez int & uint sucks

Шо Кувамото из команды Flex сообщил результаты своих исследований о новых типах int и uint в ActionScript 3. Как ни странно, оказалось, что взяв за правило всегда использовать Number вместо int и uint, вы не ошибетесь:


  • Number в большинстве случаев более или примерно такой же производительный как int (а во многих - производительнее).

  • Number содержит большее количество бит и, соотвественно, вы не будете удивлены тому, что запихнув в int таймстамп, на выходе окажется, что он изменился.

  • uint проигрывает (и весьма существенно) по всем показателям.

  • int и uint - это всего лишь дань совместимости со стандартом.

  • Все арифметические операции производятся с Number'ами. И поэтому int с uint'ом при их проведении конвертируются в Number.


Последний пункт нашел подтверждение в более точных исследованиях Гранта Скиннера.

Для чего использовать эти типы? Ну если вам сильно хочется, то Кувамото рекомендует делать это для экономии памяти (но это, понятно, если вы храните ну очень много чисел :), если вы хотите быстро получить целое число (var i:int = j / 2), ну и при маппинге серверных объектов чтобы уменьшить вероятность ошибки при передаче целого числа. Грант Скиннер говорит, что int можно использовать как итератор в цикле. Типа того.

Комментариев 5:

Blogger Rip The Spam сообщает:

В ближней перспективае это очень хорошая новость: меньше головной боли при портировании с AS2.

18 июня, 2006 16:27  
Blogger Unknown сообщает:

Ну, в общем, да :)

18 июня, 2006 17:29  
Anonymous Анонимный сообщает:

Шо Кувамото из команды Flex сообщил результаты своих исследований
Очень смутила эта фраза.
Я до этого думал что исследовать можно явление доселе неведомое.
Неужели среди создателей AS3 такая неразбериха, что не представляется возможным подойти к столу и похлопав по плечу спросить - "Дружище ты че там сотворил с числовыми типами и кокая разница в использовании int(a) && uint && Number и что работать бедет эффективнее"
И получить ответ - "Да не заморачивайтесь мол особо юзай Namber на остальное забей это для чтоб ЕСМА не гавкала и для типа совместимости"
Ребята ну какие могут быть "исследования"
Это всеодно как заглянуть в свой код через пару недель после его написания и заявить что провел исследования и выяснил, что в браузер все сплавляется с помощью функци print тогда как некоторые глупцы делают это с помощью echo
Ну какие могут быть исследования Flex группой разработчиков Flex
Это даже не смешно

20 июня, 2006 21:04  
Blogger Unknown сообщает:

2Anonimous
Насколько я понимаю, команда, которая в Adobe трудится над созданием продуктов, так или иначе завязанных на Flash-платформу, довольно большая. И, скажем, Flex-команда уж точно не имеет никакого отношения к команде, разрабатывающей Flash Player. Насколько я понимаю, эти подразделения может никогда друг друга и не видели. Понятно, что это недостаток, ну а что делать если такие проблемы существуют даже в маленьких конторах...

20 июня, 2006 21:27  
Anonymous Анонимный сообщает:

Flex !!!

28 августа, 2007 21:36  

Отправить комментарий

Вернуться на главную