История изменений
Исправление 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]-[%]