Mario Torre writes: > Pero' vorrei aggiungere, e correggetemi se sbaglio, che se per un > i686 gli allineamenti di memoria devono essere pari, per una > migliore ottimizzazione, allora un compilatore che non tiene questi > allineamenti ottimizza male il codice. > > Anche se l'ottimizzazione del codice compilato dipende da tanti > fattori. A distanza di un po' di tempo, vorrei aggiungere ancora una cosa (di cui mi sono (tristemente) accorto solo oggi): se mai compili del codice con il gcc con l'ottimizzatore, assicurati di specificare anche ``-funroll-loops''. Incredibile ma vero, -O6 da solo (senza -funroll-loops) non induce lo srotolamento dei cicli (almeno non sul "vecchio" gcc 2.91.66 che ho io), e ti perdi per strada miglioramenti di prestazioni di ***un ordine di grandezza*** (10 a 1 da alcuni test che ho fatto). Indi per cui: specificare ``-funroll-loops'' quando possibile. PS: per la cronaca, scopro anche che facendo lo srotolamento a mano di un semplice loop (stile Duff's device, vedi il link sul Jargon file a http://www.tuxedo.org/~esr/jargon/html/entry/Duff%27s-device.html), ottengo risultati decisamente peggiori rispetto a quelli ottenuti utilizzando -funroll-loops. -- Matteo Ianeselli matteoianeselli AT poboxes.com -- Per disicriversi basta spedire un messaggio con SOGGETTO "unsubscribe" a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx Gestione via web: http://freelists.dhs.org