[an error occurred while processing this directive]
|
В порядке трудоёмкости (по собств опыту):
-1) включить КЭШ (если конечно все не в накристальной памяти)
0) в настройках компилера поставить opt level 3 = file level optimization
1) отключить exceptions, если вдруг были включены (на самописном классе для плавающей точке был выигрыш - раза в 4)
2) описать массивы как type * restrict ArrayName (в пару раз большой модуль обработки изображений/графов ускорился)
3) alignment прописать для массивов (не пробовал - не знаю скока выйдет)
4) pragma unroll, must iterate итп
5) intrinsics (вообще нереально всё можно ускорить - на одном алгоритме у меня 6416-й 720 МГц intrinsic'ами уделывал в 3 раза MMX-оптимизированный код на П4 2.5ГГц, и в два раза тот же код на АМД 64 2ГГц)