Genel bir kural olarak, bir yorumlanmış program, programı yorumlayıcının ana dilinde yazmasından 2x - 10x daha yavaştır ve daha dinamik diller için tercümanlar daha yavaştır. Bunun nedeni, yorumlanan programın tüm fiili çalışmaları yapmak zorunda olması, ancak ek olarak yorumlama ek yüküne sahip olmasıdır.
Tercümanın yapısına bağlı olarak, çok önemli farklılıklar olabilir. İki çelişkili tercüman tasarım okulu vardır: Biri opcodların olabildiğince küçük olması gerektiğini söyler, böylece daha kolay bir şekilde optimize edilebilirler, diğeri ise opcodlerin mümkün olduğu kadar büyük olması gerektiğini söyler. Programınızın yapısı tercümanın felsefesiyle eşleştiğinde, genel gider ihmal edilebilir hale gelir.
Perl, metin manipülasyonuna yönelik, yorumlanmış bir dildir. Metin manipülasyonu yapan bir deyimsel Perl programı, bir C programından çok daha yavaş olmayacaktır ve bazı durumlarda C programını bile daha iyi yapamayabilir (Perl farklı bir dize temsili kullandığından ve çeşitli metin ve IO ile ilgili optimizasyonlara sahip olduğundan). Bununla birlikte, Perl'de sayı çatırdaması yapmak, dayanılmaz derecede yavaş olacaktır. Bir artış ++x
tek bir montaj talimatıdır, ancak Perl yorumlayıcısı için çoklu işaretçi geçişleri ve dalları içerir. Geçenlerde CPU'ya bağlı bir Perl betiğini C ++ 'a taşıdım ve derleyici optimizasyon seviyesine bağlı olarak 7x-20x hızlandım.
İyileştirmeler hakkında konuşmak burada önemlidir; çünkü cilalı, optimize edilmiş bir tercüman, optimize edilemeyen bir saf derleyiciden makul bir şekilde daha iyi performans gösterebilir. Optimize edici bir derleyici oluşturmak zor olduğundan ve çok çaba gerektirdiğinden, “B teknolojisi” nizin bu vade seviyesine sahip olması muhtemel değildir.
(Not: Bilgisayar Dili Karşılaştırmaları Oyun sitesi) kafa karıştırıcı bir yapıya sahiptir, ancak bir problem için zaman çizelgesine ulaştığınızda, çeşitli dillerin performansının her yerde olduğunu göreceksiniz - genellikle net bir performans sınırı yoktur. derlenmiş ve yorumlanmış çözümler arasında… Sitenin en önemli kısmı kıyaslama sonuçları değil, anlamlı puanların ne kadar zor olduğu üzerine tartışmalar.)
Bir teknoloji seçerken, bir dil çalışma zamanının kendi içinde başarımı tamamen anlamsızdır. Teknolojinin bazı temel kısıtlamaları karşılaması (bütçemiz x $, yyyy-gg'den önce sunabilmeliyiz, çeşitli işlevsel olmayan gereksinimleri yerine getirmeliyiz) ve daha düşük olması önemli toplam sahip olma maliyeti (geliştirici verimliliğini, donanım maliyetlerini, iş fırsatı maliyetlerini, hata riskini ve teknolojide beklenmeyen kısıtlamaları, bakım maliyetlerini, eğitim ve işe alma maliyetlerini hesaba katar). Örneğin, pazara çıkış süresinin en önemli faktör olduğu bir sektörde, en iyi geliştirici verimliliğine sahip teknoloji en iyi çözüm olacaktır. Büyük bir kuruluş için sürdürülebilirlik ve uzun vadeli maliyetler daha ilginç olabilir.