Önceden oluşturulmuş ikili performansın kullanılması mı derleniyor?


11

Kullanılacak gerçek makine için bir yazılım bileşeninin kaynağını, belki de birçok farklı mimari için başka bir platformda derlenmiş olup olmadığına kıyasla, daha iyi (daha hızlı) olur mu? İndirdiğim kaynak derleme konusunda bazı iyi sonuçlar aldım ve bunun genellikle yazılım güncellemelerinde olduğu gibi önceden derlenmiş bir ikili dosyayı indirmek yerine derlemekten kaynaklanıp kaynaklanmadığını merak ediyorum.


2
Birçok mimariyle uyumluluk için derleme, tek bir mimari için derlerken mümkün olabilecek bazı optimizasyonları ortadan kaldırır.
Robert Harvey

1
Kenara daha (neredeyse her zaman yararlı olacaktır) hedef olmaktan, muhtemelen olacaktır da farklı derleyiciler farklı optimizasyon destekleyecek ve bazen performans darboğazları birer uzağa optimize edilebilir, ancak diğer (s) - Büyük derleyici arasındaki farkları karşılaşıyoruz.
Daniel B

Yanıtlar:


8

Birçok durumda (en çok olmasa da) evet. Bunun nedeni, derleyicinin söz konusu CPU ve ortam için optimize edilmiş yerel kod üretebilmesidir. Kod daha "hedeflenir".


8

Kaynaklardan derleme, derleyici bayraklarını platformunuz için istediğiniz şekilde ayarlamanıza avantaj sağlar. Sizinkiyle aynı ayarlarla derlenmiş bir paket indirmenin hiçbir farkı olmaz, ancak ayarları varsayılanlardan değiştirmek size büyük iyileştirmeler sağlayabilir.

Örneğin, indirme için sunulan ikili dosyalar hata ayıklama amacıyla derlenmişse (kasıtlı olarak veya yanlışlıkla), daha agresif optimizasyonun açılması neredeyse tüm durumlarda performansı artıracaktır. Öte yandan, derlenen kod maksimuma optimize edilirse, herhangi bir fark görmezsiniz.


Yani derleme çabam boşuna olmayabilirdi. Ben mod_jk için kaynak indirildi ve derlenmiş ve çok hızlı var ve bunun manuel derleme nedeniyle olup olmadığını merak ediyorum. Cevap için teşekkür ederim.
Niklas

1

Bu gerçekten kullanılan iki derleyiciye ve derleyici bayraklarına bağlıdır. Genellikle, doğru yapılandırılmış şeyleriniz varsa, yerel makinenizdeki derleyici ve bayrak ayarları makinenize daha uygundur.

Ancak, örneğin, önceden oluşturulmuş ikili dosya, derleyiciye kıyasla çok daha iyi bir optimizasyon derleyicisiyle (veya söz konusu kod parçası için ayarlanmış bayraklarla ve sisteminize uygun şansla tasarlanmış özel bir ölçütle) oluşturulmuşsa sisteminizdeki herhangi bir derleyici aslında daha kötü performans üretebilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.