Il 10% è una buona figura del campo da baseball. Detto questo, ...
Devi VERAMENTE preoccuparti delle prestazioni per andare su questa rotta. Il prodotto su cui lavoro (DB2) utilizza PGO e altre ottimizzazioni invasive e aggressive. Tra i costi vi sono tempi di costruzione significativi (triple su alcune piattaforme) e incubi di sviluppo e supporto.
Quando qualcosa va storto, può essere non banale mappare la posizione del guasto nel codice ottimizzato fino all'origine. Gli sviluppatori di solito non si aspettano che le funzioni nei diversi moduli possano finire unite e inline e questo può avere effetti "interessanti".
I problemi con l'alias del puntatore, che sono pericolosi da rintracciare, di solito si manifestano anche con questi tipi di ottimizzazioni. Hai il divertimento in più di avere build non deterministici (un problema di aliasing può comparire nella build di lunedì, svanire di nuovo fino a giovedì, ...).
Anche la linea tra il comportamento del compilatore corretto o errato in questi tipi di ottimizzazioni aggressive diventa piuttosto confusa. Anche con il lusso di avere i nostri compilatori in house (letteralmente) i problemi di ottimizzazione (sia nella nostra fonte che nel compilatore) non sono ancora facili da capire e risolvere.
fonte
2009-11-04 14:54:55
Credo che la parola che stai cercando sia "ottimizzazione guidata del profilo". Non conosco progetti importanti che pubblicano le misurazioni prima e dopo, ma so che Firefox supporta PGO nel suo sistema di compilazione. Vedere https://developer.mozilla.org/en/Building_with_Profile-Guided_Optimization – int3
Informalmente, ho visto + 10% su basi di codice incorporate ma non ho mai visto studi formali di PGO. –