Удобно то понятно. Потери скорости где меньше?
Тут оказывается даже если вынести код в функцию (в блице), уже теряется 4% производительности на вызов этой функции. А если функция обращается к другой функции, то уже 8% ... и тд. Сколько будет теряться на DLL?
Вот это: d# = Exp(0.37*Log(d#)) на 4% быстрее, чем вот это:
d# = sqrt#(d#, 0.37)
Function sqrt#(a#, n#)
Return Exp(n#*Log(a#))
End Function
Кстати, такое извлечение корня у меня на 10% быстрее, чем d# = d# ^ 0.37
А в PB извлечение корня по модулю: Pow(d.d, 0.37) наоборот в 1.5 - 2 раза быстрее, чем Exp(0.37*Log(d.d)). Ну и в 10 раз быстрее, чем в блице. Ну и точность double.
Боюсь предположить, насколько быстр Intel® Fortran Composer XE. Поговаривают, он обходит GCC (С/C++) процентов на 40. И в Cern ПО для обработки данных с коллайдера на фортране.