![]() |
flash для мат. расчетов
Всем привет. если не принимать во внимание распараллеливание, то насколько AS3 негож для мат. задач (напр. оптимизации) по сравнению со, скажем, сями (всякими)?
|
На 47.5 %
|
Ухудшилось? =)
Было же всего 41.2%. |
Сам АС3 тут ни при чем. Он не хуже других языков. Все упирается в среду исполнения.
п.с. Тема флеймовая. Да и вообще, вопрос странноват. 2 + 2 он посчитает так же быстро ) |
У меня БПФ летает только так, вроде добился 30мс на вычисление.
|
"летает только так" и "30мс на вычисление" это какбе абсолютные величины
по сравнению с сями это все равно в разы (если не на порядки) медленнее если добавить сюда вычислительные "особенности" флеша (trace(1.005 * 20);//20.099999999999998), то негож он для мат. задач считай, что напроч :) |
silin Это не флеш, это IEEE754, он такой и в C и в C++ и вообще практически везде. Вычисления в нём не детерминированы и зависят от порядка вычисления в том числе. Советую ознакомиться со статьями Что нужно знать про арифметику с плавающей запятой и Синхронные движки RTS и история рассинхронизаций в последней в комментах есть упоминания про то как народ использует fixedPoint или вообще сами реализуют плавающую точку для детерминированности.
|
ага, спасибо за ссылки
имхо это в ту же тему, необходимость ручной реализации плавающей точки ни разу не аргумент в пользу использования AS3/флеша для расчетов :) |
На самом деле точность double precision floating point, который есть Number, вполне достаточна для большей части математики. Я вот написал математику некоторую на AS3, вполне меня страивает всё.
|
Цитата:
|
Number это double. Да, float можно иногда использовать для экономии памяти(скорость почти такая-же на современных процах), но для таких вещей уже нужны нативные языки.
|
Ну Number это не совсем double. Точнее сказать - немного урезанный double (до 53 бит). А float вроде должен скоро появиться (для 3D будет добавлен еще и float_4)
|
Огромное спасибо, упустил как-то этот момент в документации. Действительно 53 бита это не совсем 64 бита как double
|
А я вычислял 2000! на флэше)
|
Цитата:
|
Цитата:
|
Цитата:
Добавлено через 7 минут Глуми, не шути так :) http://help.adobe.com/ru_RU/ActionSc...0204-7f88.html |
Окей, больше не буду. =) Но кстати судя по справке от адоба - все таки 53, хотя это и не так уж важно
|
Это обычный double - 11 бит под экспоненту, 52 бита под мантиссу и один под знак. Т.о. double может хранить точное целочисленное значение вплоть до 53 бит (52 + 1).
Впрочем, ребята на том форуме все правильно написали в комментариях. |
| Часовой пояс GMT +4, время: 08:23. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.