Derleyici optimizasyon tekniklerinde son birkaç yılda neler yeni?


14

Veri akışı ve kontrol akış grafiklerinin optimizasyonu ve özellikle daha hesaplama açısından karmaşıkım. Ancak, gözetleme deliği optimizasyonları alanındaki en son icatları bilmek de ilginç olacaktır.


2
Benim içinde tezi ( slaytlar ) ı tartışılan ve LLVM düzleşmenin geçirici grafik uygulayan; temel olarak, "fonksiyon" kavramından kurtulan bir süreçler arası dönüşümdür, çünkü tüm kodları bir araya getirerek, süreçler arası kod hareketi, çağrı sitesi tarafından optimize edilmiş çağrı kuralları, yığınsız yürütme ve benzeri gibi ilginç olasılıklara izin verir.
CAFxX

@CAFxX: Slaytlar çöktü Open Office .. Bunun yerine çevrimiçi resimleriniz oldu mu?
Yttrill


Teşekkürler, bunu görebiliyor, grafik görünür olması için iyi olmasına rağmen metin iyi oldu.
Yttrill

Yanıtlar:


8

Ne kadar yeni olduğundan emin değilim ya da ilgilendiğiniz taraf için çok fazla ise, ama Hoopl bir kontrol / veri akışı optimizasyonunun nasıl modüle edilebileceğini gösterir, kontrol grafiği köşeleri hakkında gerçeklerin yayılması dil ve özel optimizasyon.

Lerner, Grove ve Chambers'ın basit optimizasyonları bir "süper-optimizasyon" haline getiren 2002 algoritmasına atıfta bulunuyorlar.



6

Doğrulanmış optimizasyon derleyicilerinde biraz canlanma oldu. Lerner gazetesine ek olarak (bir önceki yorumda belirtilmiştir), Xavier Leroy liderliğindeki CompCert projesine bakabilirsiniz . Makine tarafından kontrol edilebilir kanıtlar ( Coq kullanarak ) olarak optimizasyonları belirten bazı harika şeyler yaptılar . Makaleleri henüz okumadım, ancak Princeton'daki Doğrulanmış Yazılım Araç Zinciri projesi de bu alanda ilginç sonuçlar üretiyor gibi görünüyor.


1
Ayrıca CompCert: CerCo ( cerco.cs.unibo.it ) benzeri bir proje üzerinde çalışıyoruz . CompCert'ten farklı olarak, C'nin büyük bir alt kümesi için doğrulanmış bir beton maliyet koruyucu derleyici üretmeyi hedefliyoruz (CompCert, yalnızca kaynak programın genişletme özelliklerinin derleme ile korunduğunu gösterir). Derleyicide, orta derecede karmaşık döngü optimizasyonlarının yanı sıra, elbette maliyet tasarrufu olarak doğrulanması gereken CompCert gibi "hafif" optimizasyonları da uyguluyoruz.
Dominic Mulligan

5

Bir çift FOR döngüsünde baz [i] + = kuvvetin (foo [i], foo [j]), (i, j) için bağımsız sonuçlara sahip olduğunu ve çağrıları (i, j) önbellek isabetlerini azaltmak.

Oldukça "gözetleme deliği" ama "ücretsiz" için önbellek kayıtsız davranış almak güzel.

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.