2011-02-06 41 views
48

DÜZENLEME: Maalesef LuaJIT aşağıdaki linkten karşılaştırmadan çıktı. Programlama dillerinin comparison numaralı comparison numarası, LuaJIT'in normal Lua uygulaması üzerinde on katın üzerinde bir iyileşme gösterdiğini göstermektedir. Bu değişiklik neden bu kadar büyük? Lua hakkında JIT derlemesinden çok yarar sağlayan özel bir şey var mı? Python dinamik olarak yazılır ve bytecode olarak derlenir, bu yüzden neden PyPy (JIT şu an, inanıyorum) performansta büyük bir sıçrama göstermiyor?LuaJIT neden bu kadar iyi?

+33

basit cevap: Mike Paul bir tanrıdır :) – Necrolis

cevap

56

Mike Pall birkaç yerde bundan bahsediyor:

, sonunda cevap iner iki şey: algoritmalar ve mühendislik. LuaJIT gelişmiş derleme teknikleri kullanır ve ayrıca çok iyi tasarlanmış bir uygulamaya sahiptir. Örneğin, fantezi derleme teknikleri bir kod parçasını işleyemediğinde, LuaJIT, x86 montajında ​​yazılmış çok hızlı bir yorumlayıcısına geri döner. LuaJIT'in kendisi iyi tasarlanmış olduğundan değil, Lua dilinin kendisi de Python ve JavaScript'ten daha basit ve daha tutarlı bir tasarıma sahip olduğu için LuaJIT, mühendislik açısından iki noktaya sahiptir. Bu, bir uygulamanın tutarlı bir şekilde iyi bir performans göstermesini (marjinal olarak) kolaylaştırır.

+20

LuaJIT, mükemmel algoritmaların ve mükemmel mühendisliğin iyi bir örneğidir. Pazarlama metni gibi okunduğunda (veya bunu) ilgisizdir. El-kodlu tercüman döngülerinin montajı, yorumlayıcının C versiyonundan çok daha hızlıdır ve iyi mühendislik örnekleridir. Alias ​​analizi, deponun yüklenmesi, yük iletimi, nano-etiketleme, kayıt ayırma ve verimli izleme birleştirme/çıkma mükemmel algoritmaların örnekleridir (ve mühendislik). – Eloff

İlgili konular