Mój program spędza 90% czasu procesora w funkcji std::pow(double,int)
. Dokładność nie jest tutaj najważniejsza, więc zastanawiałem się, czy istnieją jakieś szybsze alternatywy. Jedną z rzeczy, o której myślałem, to próbowanie rzucania, aby wykonać float, wykonanie operacji, a następnie powrót do podwójności (jeszcze tego nie próbowałem); Obawiam się, że to nie jest przenośny sposób na poprawę wydajności (nie działają na większość procesorów podwaja wewnętrznie tak?)Co jest szybsze niż std :: pow?
Cheers
Kinda zależy od mocy obliczanych - pokaż kod i/lub opisz dane. – paddy
Sprzęt jest szybszy niż oprogramowanie w ogólnym przypadku, jest to rodzaj "pow" ... nie można go pokonać, chyba że można nakładać dodatkowe ograniczenia na to, co robisz. – Mehrdad
Ten artykuł może być przydatny: http://martin.ankerl.com/2012/01/25/optimized-approximative-pow-in-c-and-cpp/ –