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?
cevap
Mike Pall birkaç yerde bundan bahsediyor:
- http://article.gmane.org/gmane.comp.lang.lua.general/58908
- http://lambda-the-ultimate.org/node/3851
- http://www.reddit.com/user/mikemike her ölçülebilir sisteminde olduğu gibi
, 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.
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
- 1. Bu Elixir kodu neden bu kadar yavaş?
- 2. Neden getline bu kadar tutarsız?
- 3. DateTime.Parse neden bu kadar yavaş?
- 4. Bu jQuery seçici neden bu kadar yavaş?
- 5. Bu matris aktarımları neden bu kadar sezgiseldir?
- 6. Bu şekilde yaptığımda MySQL sorgum neden bu kadar hızlı ve neden bu kadar yavaş?
- 7. Tk kanvas neden bu kadar yavaş?
- 8. LuaJIT, modül hatası gerektirir
- 9. resolveInfo.loadLabel() neden bu kadar yavaş yavaş?
- 10. Bu JeroMQ (ZeroMQ bağlantı noktası) karşılaştırması neden bu kadar yavaş?
- 11. IO'm neden Erlang'da bu kadar yavaş çalışıyor?
- 12. PyQt uygulama başlatması neden bu kadar yavaş?
- 13. Pyglet, pygame'e göre neden bu kadar yavaş?
- 14. XML'i pdf'ye dönüştürmek neden bu kadar zor?
- 15. Android telefon simülatörü neden bu kadar yavaş?
- 16. Çöp Toplama neden bu kadar yavaş?
- 17. Titanium oluşturma işlemi neden bu kadar yavaş?
- 18. Neden MySQL Node.js içinde bu kadar yavaş?
- 19. Kutulu vektörler neden bu kadar yavaş?
- 20. Raylarım neden bu kadar yavaş test ediyor?
- 21. Glassfish yönetici konsolu neden bu kadar yavaş?
- 22. WatchService neden bu kadar çok işlem yapıyor?
- 23. IronPython başlangıç zamanı neden bu kadar yavaş?
- 24. Dinamik seçenekler neden bu kadar küçük görünüyor?
- 25. IE geliştirici araçları neden bu kadar yavaş?
- 26. PyQt connect() sözdizimi neden bu kadar ayrıntılı?
- 27. Amazon Cloudfront neden bu kadar yavaş?
- 28. bu kadar
- 29. Bu Haskell programı neden bu kadar çok bellek ayırıyor?
- 30. Bu 2 sorgunun performansı neden bu kadar farklı?
basit cevap: Mike Paul bir tanrıdır :) – Necrolis