История изменений
Исправление shdown, (текущая версия) :
Да ты твердолобый какой-то.
Думаешь, будет большая разница?
Понятия не имею. Я про методологию говорю.
Нет, её не будет, потому что и тут не было.
«Когда мы вылили стакан воды в одну бочку с говном, и стакан пива в другую бочку с говном, пахло одинаково. Следовательно, разницы между водой и пивом по запаху нет, потому что и тут её не было.»
Пишешь, что не надо тестировать JIT-компиляторы, и тут же приводишь два JIT-компилятора как пример для тестирования.
Я показал, что если скомпилировать LuaJIT с -O2 и с -O0, то разницы в производительности не будет. Потому что там VM написана на ассемблере, и код в рантайме он генерирует на ассемблере. Сишка там не узкое место в производительности.
Т.е. я показал, что даже если ты выльешь стакан аммиака (который заведомо отличается по запаху от воды) в бочку с говном, разницы по запаху не будет. Поэтому нужно менять методологию.
Вот если обычную Lua (там нет ни одной строчки на ассемблере, JIT тоже нет — только сишка) скомпилировать с -O2 vs -O0, там будет разница в 4 раза по производительности:
[~/repo]-[%] lua5.5 scimark.lua -large
Lua SciMark 2010-12-10 based on SciMark 2.0a. Copyright (C) 2006-2010 Mike Pall.
FFT 60.89 [1048576]
SOR 219.16 [1000]
MC 39.36
SPARSE 152.12 [100000, 1000000]
LU 166.88 [1000]
SciMark 127.68 [large problem sizes]
[~/repo]-[%] ./lua55/lua-5.5.0/src/lua scimark.lua -large # это я собрал с -O0
Lua SciMark 2010-12-10 based on SciMark 2.0a. Copyright (C) 2006-2010 Mike Pall.
FFT 26.90 [1048576]
SOR 75.93 [1000]
MC 16.65
SPARSE 52.40 [100000, 1000000]
LU 62.44 [1000]
SciMark 46.86 [large problem sizes]
[~/repo]-[%]
А для LuaJIT разницы не видно, потому что там ассемблер. И они ещё почему-то даже параметр -joff не передают ему.
Исправление shdown, :
Да ты твердолобый какой-то.
Думаешь, будет большая разница?
Понятия не имею. Я про методологию говорю.
Нет, её не будет, потому что и тут не было.
«Когда мы вылили стакан воды в одну бочку с говном, и стакан пива в другую бочку с говном, пахло одинаково. Следовательно, разницы между водой и пивом по запаху нет, потому что и тут её не было.»
Пишешь, что не надо тестировать JIT-компиляторы, и тут же приводишь два JIT-компилятора как пример для тестирования.
Я показал, что если скомпилировать LuaJIT с -O2 и с -O0, то разницы в производительности не будет. Потому что там VM написана на ассемблере, и код в рантайме он генерирует на ассемблере. Сишка там не узкое место в производительности.
Т.е. я показал, что даже если ты выльешь стакан аммиака (который заведомо отличается по запаху от воды) в бочку с говном, разницы по запаху не будет. Поэтому нужно менять методологию.
Вот если обычную Lua скомпилировать с -O2 vs -O0, там будет разница в 4 раза по производительности:
[~/repo]-[%] lua5.5 scimark.lua -large
Lua SciMark 2010-12-10 based on SciMark 2.0a. Copyright (C) 2006-2010 Mike Pall.
FFT 60.89 [1048576]
SOR 219.16 [1000]
MC 39.36
SPARSE 152.12 [100000, 1000000]
LU 166.88 [1000]
SciMark 127.68 [large problem sizes]
[~/repo]-[%] ./lua55/lua-5.5.0/src/lua scimark.lua -large # это я собрал с -O0
Lua SciMark 2010-12-10 based on SciMark 2.0a. Copyright (C) 2006-2010 Mike Pall.
FFT 26.90 [1048576]
SOR 75.93 [1000]
MC 16.65
SPARSE 52.40 [100000, 1000000]
LU 62.44 [1000]
SciMark 46.86 [large problem sizes]
[~/repo]-[%]
А для LuaJIT разницы не видно, потому что там ассемблер. И они ещё почему-то даже параметр -joff не передают ему.
Исходная версия shdown, :
Да ты твердолобый какой-то.
Думаешь, будет большая разница?
Понятия не имею. Я про методологию говорю.
Нет, её не будет, потому что и тут не было.
«Когда мы вылили стакан воды в одну бочку с говном, и стакан пива в другую бочку с говном, пахло одинаково. Следовательно, разницы между водой и пивом по запаху нет, потому что и тут её не было.»
Пишешь, что не надо тестировать JIT-компиляторы, и тут же приводишь два JIT-компилятора как пример для тестирования.
Я показал, что если скомпилировать LuaJIT с -O2 и с -O0, то разницы в производительности не будет. Потому что там VM написана на ассемблере, и код в рантайме он генерирует на ассемблере. Сишка там не узкое место в производительности.
Т.е. я показал, что даже если ты выльешь стакан аммиака (который заведомо отличается по запаху от воды) в бочку с говном, разницы по запаху не будет. Поэтому нужно менять методологию.
Вот если обычную Lua скомпилировать с -O2 vs -O0, там будет разница в 4 раза по производительности:
[~/repo]-[%] lua5.5 scimark.lua -large
Lua SciMark 2010-12-10 based on SciMark 2.0a. Copyright (C) 2006-2010 Mike Pall.
FFT 60.89 [1048576]
SOR 219.16 [1000]
MC 39.36
SPARSE 152.12 [100000, 1000000]
LU 166.88 [1000]
SciMark 127.68 [large problem sizes]
[~/repo]-[%] ./lua55/lua-5.5.0/src/lua scimark.lua -large
Lua SciMark 2010-12-10 based on SciMark 2.0a. Copyright (C) 2006-2010 Mike Pall.
FFT 26.90 [1048576]
SOR 75.93 [1000]
MC 16.65
SPARSE 52.40 [100000, 1000000]
LU 62.44 [1000]
SciMark 46.86 [large problem sizes]
[~/repo]-[%]
А для LuaJIT разницы не видно, потому что там ассемблер. И они ещё почему-то даже параметр -joff не передают ему.