L'autore del linker Wild ha analizzato il distacco da Mold
Lo sviluppatore di Wild ha pubblicato i risultati di un test di prestazione ripetuto del suo progetto in confronto al linker Mold. Lo studio ha individuato le ragioni per cui le precedenti misurazioni mostravano un vantaggio per Wild, nonostante il significativo progresso del concorrente nelle ultime versioni.
Il fattore principale della differenza di prestazione è stata l'assenza in Wild di ottimizzazioni specifiche per il sistema operativo per il lavoro con il file system. In particolare, Mold utilizza efficacemente le chiamate di sistema fallocate per la preallocazione dello spazio su disco e i meccanismi hugepages per accelerare le operazioni di memoria, il che gli dà un vantaggio nel trattamento di grandi file oggetto.
Durante l'analisi è emerso che Mold ha notevolmente migliorato gli algoritmi di allocazione delle risorse, il che gli ha permesso di ridurre il tempo di link in scenari di build complessi. L'autore di Wild ha ammesso che l'attuale architettura del suo strumento richiede una revisione dei meccanismi di gestione dell'I/O per raggiungere il livello di ottimizzazione raggiunto in Mold.
I risultati dei test mostrano che la differenza nella velocità di lavoro dei linker è spesso determinata non solo dalla complessità algoritmica, ma anche da quanto efficacemente lo strumento interagisce con il kernel del sistema operativo. Per gli sviluppatori di software di sistema, ciò significa la necessità di una maggiore integrazione con le API a basso livello per raggiungere la massima larghezza di banda durante la compilazione di grandi progetti.



