Performans İpuçları Yıllar içinde meslektaşım Sanjay Ghemawat ile birlikte çeşitli kod parçalarının performans ayarına oldukça fazla daldık. Birkaç yıl önce genel ilkeleri belirlemek için bir iç Performans İpuçları belgesi yazdık ve yakın zamanda bunun bir versiyonunu dışarıdan yayımladık. Her türlü geri bildiriminizi memnuniyetle karşılarız! Tam belgeyi şu adresten okuyabilirsiniz:
Çeşitli tekniklere somut örnekler vermeye çalıştık. Bazıları, 2001'deki bu değişiklikler seti gibi performans iyileştirmelerinin üst düzey tanımlarıdır:
Diğerleri ise bir tekniği gösteren özel küçük kod parçalarıdır:
Birçok teknik muhtemelen okuyucular tarafından biliniyordur, ancak yüksek seviyeli algoritmik iyileştirmelerden düşük seviyeli performans optimizasyonlarına kadar uzanan ipuçları ve püf noktalarının bir araya getirilmesinin hoş olduğunu düşündük.
Sanjay ve ben de bunu yazmaktan keyif aldık; onlarca yıl boyunca değişim listelerinin derinliklerine indik, kullandığımız ilginç teknikleri aradık ve bunları daha üst düzey temalara gruplamaya çalıştık.
Halka açık versiyon, dahili versiyonun biraz temizlenmiş bir versiyonudur. Google'daki kişiler dahili sürümü go/performance-hints adresinde bulabilir; bu sürümde kaynak kod depo sistemimizdeki gerçek changelist bağlantıları var.
İç sürümde ayrıca daha hassas kod örnekleri (örneğin TPU derleyici arka uçunda yapılan değişiklikler) ve harici sürümde yer alamayacağımız ek örnekler de var.
51