Kabuklar teslim ettikleri kodun yeniden düzenlenmesini sağlamazlar, sadece bir satır birbiri ardına yorumlanırlar (başka bir şey komut yorumlayıcısında fazla bir anlam ifade etmez). Kabuk tarafından harcanan zamanın çoğu, sözlü analiz / ayrıştırma / başlatılan programları başlatır.
Basit işlemler için (sorunun sonundaki örneklerde dizeleri çalkalayanlar gibi) programları yüklemek için zamanın herhangi bir minik hız farkını değiştirmemesi şaşırtıcı olurdu.
Hikayenin ahlakı, gerçekten daha fazla hıza ihtiyacınız varsa, Perl veya Python gibi (yarı) derlenmiş bir dille daha iyi durumda olmanızdır, bu da başlamak için daha hızlıdır ve doğrudan bahsedilen işlemlerin çoğunu yazabilirsiniz. ve harici programlara çağrı yapmak zorunda kalmazsınız ve işin çoğunu yapmak için harici programları çağırmak veya optimize edilmiş C (veya herhangi bir şekilde) modüllere çağrı yapmak seçeneğine sahiptir. Fedora'da "sistem yönetim şekeri" nin (GUI'ler, esasen) Python'da yazılmasının nedeni budur: Çok fazla çaba göstermeyen, bu tür uygulamalar için yeterince hızlı olan güzel bir GUI ekleyebilir, sistem çağrılarına doğrudan erişebilir. Bu yeterli hızda değilse, C ++ veya C'yi alın.
Ama yok sen sürece, oraya gitmek ispat performans kazancı esneklik kaybı ve geliştirme süresi değerinde olduğunu. Kabuk betikleri okumak için çok kötü değil, ama Ultrix I'i yüklemek için kullanılan bazı betikleri hatırladığımda titremeye başladım. Ben vazgeçtim, çok fazla "kabuk script optimizasyonu" uygulanmıştı.