rav1d (Rust tabanlı bir video çözücü) ile dav1d (C tabanlı referans uygulama) karşılaştırıldığında, her iki projenin de aynı el yazımı assembly fonksiyonlarını kullanmasına rağmen, rav1d'deki bazı assembly çağrılarının daha yavaş olduğu tespit edildi. Özellikle cdef_filter4_pri_edged_8bpc_neon isimli bir fonksiyon, Rust versiyonunda %30 daha yavaş çalışıyordu. Bu durum, aynı assembly kodunun farklı dillerden çağrıldığında neden farklı performans sergilediği sorusunu gündeme getirdi.
Yapılan detaylı incelemede, samply profiler'ın assembly görünümü kullanılarak, Rust versiyonunda ld1 {v0.s}[2], [x13] gibi belirli bir veri yükleme talimatının çok daha sık çalıştığı gözlemlendi. Bu, Rust tarafında veri yükleme işlemlerinin daha yavaş gerçekleştiğini gösteriyordu. İkinci aşamada, LLVM IR (ara temsil) incelendiğinde, Rust versiyonunun yığında (stack) çok daha fazla veri depoladığı ortaya çıktı.
Nihayetinde, bu yavaşlamanın temel nedeni, derleyicinin fonksiyon işaretçileri (function pointers) üzerindeki belirli bir Rust soyutlamasını optimize edememesi olarak belirlendi. Bu soyutlama, derleyicinin yığın kullanımını azaltacak ve veri yüklemeyi optimize edecek gerekli iyileştirmeleri yapmasını engelliyordu. Sorun, daha derleyici dostu bir yaklaşıma geçilerek çözüldü ve performans farkı giderildi.
Rust ve C'nin aynı assembly kodunu kullanırken dahi performans farkları yaratabileceği ve bu farkların derleyici optimizasyonları ile dilin soyutlama modelleri arasındaki etkileşimden kaynaklanabileceği gösterildi.