Зацените следующий код. Он вычисляет сферическую функцию Бесселя. Можно ли его улучшить? 1865162168__bessel.rar
hedgehog Ответ такой - если даже при распаковке JPEG алгоритма пользоваться инструкциями FPU, то время распаковки возрастет настолько, что mpeg2 фильм на проц 500 Mhz будет тормозить. Обычно сейчас используется целочисленная арифметика и табличный медод расчета с целью имменно увеличения быстродействия (кстати поэтому современные кодеки имеют такой большой размер). Т.е. я хочу сказать, что десяток простых инструций CPU по времени скорее всего меньше чем одна инструкция FPU.
PROFi Ни на что не претендую, сам этим не занимался, только слышал звон. Говорят, в новых процах это уже не так, вроде FPU сейчас очень шустро работает. Я слышал это лет 5 назад, "новые" на то время были P3.
PROFi Нет, FPU хоть и работает быстро на современных компьютерах, но все же очень медленно по сравнению с основным набором инструкций CPU. Что касается твоего кода: - маленький компактный - да. - чувствуется алгоритм - да. - можно сделать быстрее - да, но только если этот участок кода вызывается многократно, если 5-10 раз то нет необходимости усовершенствовать.
PROFi Не знаю, помоему проще и быстрее написать fsin, чем самостоятельно его вычислять по таблицам, тем более они (талицы) уже зашиты в rom сопроцессора (ну или куда там, незнаю), поэтому вычисление синуса будет на аппаратном уровне, что быстрее. masquer Насчет SSE* - это да, они офигенно повышают производительность на компьютерах с процом от Intel, правда хрен где найдешь хороший справочник с примерами по этим командам.
Спасибо всем за ответы. Почему я использовал FPU? Потому что тут очень важна точность которой с SSE не достичь(простыми методами). FPU работет с 80 битами... Дело еще в том, что хочется прогу улучшить, поскольку на очень больших n ~ 100 и на малых x выдает неправильный ответ. Можно конечно на малых x использовать разложение в ряд Тейлора вокруг точки 0, но хочется универсальную вещь