LINUX.ORG.RU

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

Исправление 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 не передают ему.