Rilasciata la prima versione stabile di mold, un linker velocissimo per le compilazioni

mold logo

Il codice sorgente di un software ricade in due categorie, compilato e interpretato. Usando un linguaggio compilato (C o C++, per esempio) ci sono varie fasi per passare dal codice sorgente al file eseguibile binario. Tutte insieme sono genericamente indicate come “compilazione”, ma in realtà ogni passo è eseguito da un programma dedicato. Non è un caso che GCC stia per GNU Compiler Collection (collezione GNU per la compilazione), e il concetto di collezione non si limita ai linguaggi usabili.

Semplificando le fasi principali sono due.
Nella prima il compilatore traduce ogni file sorgente in un binario non eseguibile, il cosiddetto file oggetto.
Nella seconda il linker riunisce gli oggetti nell’ordine giusto per creare il file voluto, sia esso una libreria o un eseguibile.

Come potete ben immaginare, questa è una delle fasi più complesse e critiche: non solo si produce il file finale, ma la cosa riguarda l’intero programma. E nel caso di applicazioni complesse il tempo impegnato in questa fase cresce rapidamente, talvolta esponenzialmente col numero di file coinvolti.

Già nel 2008, per ovviare ai lunghi tempi, un team di Google propose il linker GOLD, ed entrato in poco tempo negli strumenti disponibili in GCC come rimpiazzo del classico “ld”. Nel 2016 il team di LLVM (un’alternativa a GCC) propose LLD, che migliorava i tempi rispetto a GOLD. Talmente tanto che Google stessa l’ha rapidamente adottato.
Da maggio 2021 uno di quegli stessi sviluppatori di LLVM propone mold (muffa), che promette dei miglioramenti altrettanto sostanziali. Ed ora è disponibile nella prima versione stabile, la 1.0.

comparison

Confronto tempi di compilazione – dalla pagina GitHub del progetto

In particolare la maggior rapidità è dato dal maggior parallelismo ottenibile: se GOLD la maggior parte del tempo lavora su una sola CPU, mold lavora quasi sempre usando tutti i processori. E su macchine particolarmente dotate (come quella presentata qui sotto e limitata all’uso di 16 core) la differenza può essere davvero notevole.

htop

Confronto uso delle CPU – dalla pagina GitHub del progetto

Ovviamente il vantaggio lo vedranno principalmente gli sviluppatori – e non è cosa da poco. Poter compilare e verificare l’efficacia delle proprie modifiche in pochi secondi invece che in alcuni minuti può fare la differenza in termini di produttività.
L’altra categoria di utenti che ne beneficerà sono quelli che compilano il proprio software. E sì, da ex utente Gentoo sto pensando proprio a loro!

Ho coltivato la mia passione per l’informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.

Fonte: https://www.miamammausalinux.org/2021/12/rilasciato-il-linker-mold/

Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.