Чудо-процессор |
[May. 11th, 2010|02:50 am] |
Побаловался с своим Коре 2 дуо. Амд Кодеаналист - вещь, даже на Интеле!
sub ecx, 1 jne NEXT_4 работает быстрее, чем Loop --------------- Test dword ptr [edx], ebx Jne skip
Inc edi skip: тормоза умеренные. --------------- bt dword ptr [edx], ebx adc edi, 0 перехода нет, но тормоза страшные. Видимо, строкам положено. --------------- Test dword ptr [edx], ebx SetNZ Al Add edi, eax А вот это шустро работает. Если цикл развернуть, то даже с этого ещё 10% снять можно. --------------- Маллок-фри тоже зло, если заранее известно, что стек, хоть и с элементами разного размера. Но самое главное, не надо всю маску 128 проверять, если только один бит интересует %)
В результате этих упражнений баловство заработало в 2 раза быстрее.
Удивлён, но оказывается ручное переписывание на асме по сравнению с MS C++ ещё что-то даёт. До этого считал, что если не SIMD, то ничего не получится. |
|
|