LINUX.ORG.RU

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

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

Плюс, оно на самом деле вообще не нужно в современных реалиях.

Это fake news. Они то ли по незнанию, то ли специально, взяли бенчмарки из phoronix-test-suite — но там почти во всём софте, который тестируется, узкие места переписаны на ассемблере. Эти дебилы ещё бы libgmp побенчили.

Особенно смешно в этом списке смотрится LuaJIT. Там даже с -joff код исполняется в VM, написанной на ассемблере для каждой архитектуры отдельно. Я вот собрал LuaJIT с -O0, запустил его vs системный на их бенче — разница если и есть, то в пользу -O0:

[~/repo]-[%] for LJ in luajit ./LuaJIT-OPT0/src/luajit; do for arg in '' -joff; do echo "$LJ ${arg:-default}:"; $LJ $arg scimark.lua -large | tail -n1; done; done
luajit default:
SciMark  1512.15  [large problem sizes]
luajit -joff:
SciMark   156.05  [large problem sizes]
./LuaJIT-OPT0/src/luajit default:
SciMark  1538.98  [large problem sizes]
./LuaJIT-OPT0/src/luajit -joff:
SciMark   171.22  [large problem sizes]
[~/repo]-[%]

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

Плюс, оно на самом деле вообще не нужно в современных реалиях.

Это fake news. Они то ли по незнанию, то ли специально, взяли бенчмарки из phoronix-test-suite — но там почти во всём софте, который тестируется, узкие места переписаны на ассемблере. Эти дебилы ещё бы libgmp побенчили.

Особенно смешно в этом списке смотрится LuaJIT. Там даже с -joff код исполняется в VM, написанной на ассемблере для каждой архитектуры отдельно. Я вот собрал LuaJIT с -O0, запустил с их бенчем, разница если и есть, то в пользу -O0:

[~/repo]-[%] for LJ in luajit ./LuaJIT-OPT0/src/luajit; do for arg in '' -joff; do echo "$LJ ${arg:-default}:"; $LJ $arg scimark.lua -large | tail -n1; done; done
luajit default:
SciMark  1512.15  [large problem sizes]
luajit -joff:
SciMark   156.05  [large problem sizes]
./LuaJIT-OPT0/src/luajit default:
SciMark  1538.98  [large problem sizes]
./LuaJIT-OPT0/src/luajit -joff:
SciMark   171.22  [large problem sizes]
[~/repo]-[%]