Eki Görüntüle 1734325
Aradaki kılcal farkları saymazsak Rust'ın C'ye derleniyor olmasının getirdiği performans dezavantajının olmadığını net şekilde yukarıdaki grafiklerden görebiliyoruz. C ve Rust tam olarak eşit performans sergiliyorlar dostum yapılan testlerde.
Ben size asıl fark yaratacak şeyi söyleyim. Eğer Rust'da kod yazıyorsanız büyük olasılıkla performanslıdır ancak C++'de bazı şeyleri algoritma kurarken düşünmek gerekir ki yukarıdaki grafiklere benzer sonuçlar elde edilebilsin.
Misal Rust'ta olup C++'de olmayan şeyler:
1, Rust compile-time'da uygulamanızın null veya dangling pointerlara karşı güvende olacağını garanti eder. C++'de leak Memory'ye karşı ekstradan düşünmelisiniz ki yukarıdaki performansı elde edebilesiniz.
2. Rust, bir değişkenin ömrünün compile-time'da sona erdiğini bilir ve böylece belleği boşaltmak için uygun LLVM/assembly talimatlarını ekler. Bu durum, Runtime'da performansı artırır. C de bir çöp toplayıcı yoktur. Algoritmada üzerine düşünmek gerekir.
Eğer siz C++'de bunları doğru şekilde uygulayacak kadar bilgiliyseniz Rust ile neredeyse eşit performans elde edebilirsiniz ancak bunlara yeterince hakim değilseniz uygulamanızın performansı muhtemelen Rust'da daha yüksek olacaktır.
Benzer bir durum Assembly ile C arasında da vardır. Siz Assembly'de misal flagalra yeterince hakimseniz C'den kılcal miktarlarda daha iyi performans elde edebilirsiniz ancak hakim değilseniz muhtemelen C++'de yazacağınız kod günün sonunda Assembly'ye compile edilse bile Assembly'den daha performanslı olacaktır.