Моя программа тратит 90% времени процессора в функции std::pow(double,int)
. Точность здесь не является главной проблемой, поэтому мне было интересно, есть ли более быстрые альтернативы. Одна вещь, о которой я думал, - это бросить плавать, выполнить операцию, а затем вернуться к двойному (еще не пробовал); Я обеспокоен тем, что это не является переносимым способом повышения производительности (не большинство процессоров работают на двойниках внутренне так или иначе?)Что быстрее, чем std :: pow?
Приветствия
Kinda зависит от того, какие полномочия вы рассчитываете - пожалуйста, покажите код и/или опишите свои данные. – paddy
Аппаратное обеспечение быстрее, чем программное обеспечение в общем случае, это своего рода точка 'pow' ... вы не можете победить его, если не можете наложить дополнительные ограничения на то, что вы делаете. – Mehrdad
Эта статья может быть полезна: http://martin.ankerl.com/2012/01/25/optimized-approximative-pow-in-c-and-cpp/ –