Tiny C Compiler: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
→Stato del progetto: fix |
|||
Riga 30:
TCC ha tempi di compilazione molto rapidi, tuttavia questo comporta un compromesso con l'efficienza del codice generato da esso. Il compilatore esegue un numero limitato di ottimizzazioni, come [[constant folding]] per tutte le operazioni, ottimizzazione di moltiplicazioni e divisioni tramite [[shift aritmetico]] quando possibile, ottimizzazione degli operatori di confronto tramite l'uso di una specifica cache, e una semplice [[register allocation]] che consente di risparmiare cicli di save/load all'interno di una singola istruzione ad alto livello.
In generale TCC punta maggiormente
In un [[benchmark (informatica)|benchmark]] effettuato usando una versione modificata di TCC, capace di compilare GCC, l'esecuzione di cc1 (il compilatore C di GCC) su sé stesso, usando un livello di ottimizzazione -O1 o equivalente, ha richiesto 518 secondi quando compilato con GCC 3.4.2, 558 secondi con GCC 2.95.3, 545 con il compilatore C Microsoft e 1145 con TCC.<ref name="grischka"/>
|