LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

Ясно, используют LEA вместо INC/DEC. Однако это лишний байт получается, не всегда хорошо.

Furthermore, an INC/DEC followed by ADC/SBB incur a pipeline stall of around 10 cycles

Мне кажется это core2-проблемы и костыль для их обхода. Т.к. такая просадка явно бы тормозила не только gmp но и ещё много чего, скорее всего это исправили в более новых процах как можно скорее. В атлоне такого точно не наблюдается. Кстати упомянутый Athlon64 это вроде бы самый первый (или почти) amd64 проц вообще, мой более новый.

Так что, подозреваю, на твоём проце мой вариант выше, с правильно подобранным количеством вычитаний на цикл, те самые 0.18с тоже должен дать.

Исправление firkax, :

Ясно, используют LEA вместо INC/DEC. Однако это лишние 2 байта получается, не всегда хорошо.

Furthermore, an INC/DEC followed by ADC/SBB incur a pipeline stall of around 10 cycles

Мне кажется это core2-проблемы и костыль для их обхода. Т.к. такая просадка явно бы тормозила не только gmp но и ещё много чего, скорее всего это исправили в более новых процах как можно скорее. В атлоне такого точно не наблюдается. Кстати упомянутый Athlon64 это вроде бы самый первый (или почти) amd64 проц вообще, мой более новый.

Так что, подозреваю, на твоём проце мой вариант выше, с правильно подобранным количеством вычитаний на цикл, те самые 0.18с тоже должен дать.

Исходная версия firkax, :

Ясно, используют LEA вместо INC/DEC. Однако это лишние 2 байта получается, не всегда хорошо.

Furthermore, an INC/DEC followed by ADC/SBB incur a pipeline stall of around 10 cycles

Мне кажется это core2-проблемы и костыль для их обхода. Т.к. такая просадка явно бы тормозила не только gmp но и ещё много чего, скорее всего это исправили в более новых процах как можно скорее. А атлоне такого точно не наблюдается. Кстати упомянутый Athlon64 это вроде бы самый первый (или почти) amd64 проц вообще, мой более новый.

Так что, подозреваю, на твоём проце мой вариант выше, с правильно подобранным количеством вычитаний на цикл, те самые 0.18с тоже должен дать.