Esperimenti di compilazione

Da qualche giorno sto provando a compilare con particolari opzioni di GCC: -Os e -Wl,--as-needed. La prima dovrebbe abilita tutte le ottimizzazioni di -O2 tranne quelle che incrementano le dimensioni del del compilato, inoltre effettua ulteriori ottimizzazioni per ridurne le dimensioni. La seconda opzione invece è per il linker (ld) in modo da omettere le librerie non direttamente richieste, ma solo quelle necessarie. Questa mia curiosità è nata da un articolo trovato su osnews.com dove si parlava di un notevole incremento di prestazioni usando -Wl,--as-needed, l'esempio era di gnome-terminal: compilato normalmente si porta le referenze di una cinquantina di librerie, in realtà ha bisogno di solo una decina di loro e, a quanto pare, compilando con -Wl,--as-needed, il programma si carica in molto meno tempo.
Ho fatto quindi degli esperimenti con alcuni programmi, i tempi di caricamento non sono migliorati più di tanto, però in effetti ho notato che vengono caricati più velocemente. Questi esperimenti li ho però fatti usando anche l'opzione -Os, non vorrei che il minor tempo di caricamento fosse dovuto alle ottimizzazioni di GCC: minore dimensione del binario, minor tempo di caricamento in memoria. Dovrò fare analisi più approfondite. Nel frattempo il mio amico DarkBrain ha compilato un kernel 2.6.x con -Os, beh, da allora ha 2fps in più su Unreal Tournament 2004... mica male!

Archiviato in

Invia nuovo commento

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • Indirizzi web o e-mail vengono trasformati in link automaticamente
  • You may use [inline:xx] tags to display uploaded files or images inline.
  • Linee e paragrafi vanno a capo automaticamente.

Maggiori informazioni sulle opzioni di formattazione.

CAPTCHA
Questa domanda è per evitare lo spam