Peki, programlama dillerinin daha yavaş performansı, gerçekten kötü bir şey midir?
Diğer her şey eşit olmak, daha hızlı gitmek iyi bir şeydir. Sonuçta, hiç kimse bazı sonuçlar için daha uzun süre beklemek istemiyor ve bu sonuç yapıldıktan sonra başka şeyler için kaynakları serbest bırakabiliyor.
Ancak diğer her şey eşit değildir. Yeni başlayanlar için doğru sonucu veya en azından yeterince doğru sonucu üretmek de önemlidir . (Tamamen yanlış sonuçlara izin verilirse, bunları çok hızlı bir şekilde üretebilirsiniz ve bunlar herkes için tam olarak sıfır değere sahip olacaktır.) Biraz daha yavaş bir dilde yapılan değişiklik, doğru sonucun üretilmesini daha olası hale getirirse, bu genellikle büyük takas. Daha yüksek düzeyli diller, daha düşük düzeyli dillere göre bir avantaja sahiptir, çünkü daha zengin model kümeleri, çoğunlukla çok açık bir ayrıntı olmadan karmaşık bir sorunu ifade etmeyi kolaylaştırır.
Yazılımın ilk etapta üretilmesi, istenildiği gibi yeni özellikler eklenmesi ve temel sistemler değiştikçe çalışmaya devam etmesinin maliyetini yönetmek de genellikle önemlidir. Daha yüksek seviyeli diller genellikle daha hızlı programlama dönüşümü sağlar ve programlama maliyetlerini bütçe dahilinde tutmanın çok değeri vardır. Aslında, maliyetleri orada tutmak genel olarak daha farklı şeylerin elde edilmesini sağlar, bu genellikle iyi bir şeydir.
Unutulmaması gereken son nokta, sadece bir dil kullanılmasının gerekli olmadığı ve birçok yazılım sisteminin bileşenlerinin çoğunun performans açısından kritik olmadığıdır. Kritik bitler için yüksek performanslı bileşenler üretmek için düşük seviyeli bir dil kullanmak mantıklıdır, daha az kritik parçaları yüksek seviyeli bir dile bırakmak (bunları üretme maliyetini en aza indirecek şekilde) son derece mantıklıdır. Dahası, iyi bir düşük seviyeli dil yapan özellikler (makinenin ne yaptığını tam olarak kontrol etme yeteneği), iyi bir yüksek seviyeli dil yapan özellikler değildir (ayrıntıları çok daha küçük açıklamalardan çıkarma yeteneği): taban tabana zıttırlar, bu yüzden onları bir araya getirip güçlü yönleri için kullanabilmek ve zayıflıklarından kaçınabilmek, gerçekten harika bir şey.
Yüksek performanslı tedaviyi hangi bileşenler kullanmalıdır? Optimizasyon? Onları ölçün . Profil verin. Tahmin etmek yerine gerçeği bulun. Çabalarınızı en iyi olduğu yere odaklayın.