tek yolu, test olacağını ama Bir iyileştirici Bu optimizasyonu yürütmek görmek oldukça şaşırtıcı olacaktır.
Hatta bu optimizasyonunu yapmak için başlamak için, derleyici ya 1) temelde herhangi biri diğeri için ayna görüntüsü olan operator new
ve operator delete
o (örneğin "gerçekleştirmek" için katılan fonksiyonlar) donanımları hakkında yeterli bilgiye gerekir, veya 2) aşağı operator new
ve operator delete
halinin çağrıları için (tüm fonksiyonlar inline için tüm yol tüm kod oluşturmak ve kodundan aynı sonuca anlamak mümkün yeterli istihbarat olması gerekir.
İlkini zar zor hayal edebiliyorum, ama hiç görmediğimi hatırlamıyorum .. Tipik bir yığın yöneticisinin karmaşıklığı göz önüne alındığında, ikinci vuruşlar m e gerçekten inanılmaz.
Alt satır: Daha önce şaşırmıştım ve eminim yine olacağım - ama çoğu insandan daha büyük bir sürpriz olurdu.
Neden ikincisinin daha verimli olacağını düşünüyorsunuz? Profil mi yaptın –
@LuchianGrigore Düşünebilmemin tek nedeni, ilk sürümün döngü döngüsü başına bir ayırma/ayırma hakkına sahip olması, ikincisi de zorunlu olarak değil. – juanchopanza
@juanchopanza: Doğru, ikincisi her döngü yineleme sırasında ayırmaya/ayrılmayacaktır. – ronag