Tag Archives: llvm

Compilatori a confronto: GCC, LLVM/GCC, LLVM/Clang

Scontro tra compilatori questa settimana su Phoronix, che vede come contendenti il consolidato GCC (GNU Compiler Collection) nelle versioni 4.2.1, 4.3.0, 4.4.0, 4.5.0, 4.5.1 con il plugin DragonEgg 2.8 e GCC 4.6.0 2010-10-30 development snapshot, LLVM/GCC (LLVM 2.8 e GCC 4.2.1) ed infine LLVM/Clang (LLVM 2.8) con Clang, front-end nativo per LLVM, che ha da poco aggiunto a quello C il supporto feature-complete a C++.

I benchmark sono stati effettuati su tre differenti sistemi hardware (due Intel e un AMD) ed i sorgenti dei compilatori sono stati a loro volta compilati via GCC 4.4 su host Ubuntu 10.10 x86_64 con supporto C e C++.

Continua »

Tag: ,

È arrivato LLVM 2.7

LLVM arriva alla versione 2.7. Low Level Virtual Machine noto più semplicemente come LLVM è il “compilatore del momento” che sta facendo parlare di se grazie alla sua comparsa in progetti come FreeBSD e Debian. Infatti notizia di questi giorni è quella che riguarda FreeBSD e la sua intenzione di abbandonare il “buon vecchio” GCC e passare al “giovane rampante” LLVM/Clang.

La versione LLVM 2.7 è accompagnata da una importante novità:

Una delle caratteristiche più eccitanti è che Clang è ora in grado di “compilare” se stesso, un obiettivo importante nello sviluppo di qualsiasi compilatore e in particolare in questo caso è un obiettivo notevole data la complessità dell’implementazione C++.

Continua »

Tag:

FreeBSD prepara il divorzio da GCC grazie a ClangBSD

Uno dei fenomeni più bizzarri del mondo del software libero/aperto è rappresentato dall’intolleranza dei progetti BSD nei confronti di quelli GPL: nonostante entrambe le licenze siano libere i sostenitori di una e dell’altra non perdono occasione per promuoverne l’utilizzo a scapito della licenza vista come “eretica”.

E proprio a questo proposito dobbiamo segnalare che ClangBSD, il sotto-progetto di FreeBSD che mira all’utilizzo per default del compilatore clang, ha raggiunto un ulteriore grado di maturità: da pochi giorni è infatti possibile compilare l’intero FreeBSD senza far ricorso a GCC.

Continua »

Tag: , , ,

FreeBSD abbandona GCC e passa a LLVM/Clang?

Le parole di Brad Davis del board di FreeBSD sono chiare:

Gli ultimi 3-4 mesi abbiamo lavorato insieme agli sviluppatori di LLVM, e abbiamo discusso di molti dei bug e delle questioni che abbiamo sperimentato con il loro front end Clang. Il progetto FreeBSD sta valutando la possibilità di sostituire GCC con Clang. Al momento (Clang) compila il 99% del codice FreeBSD, ed è in grado di compilare un Kernel avviabile per i386/amd64, tuttavia esso ha ancora dei bug e il suo supporto C++ è immaturo.

Sebbene una decisione definitiva non sia stata ancora presa, sembra evidente che l’aver già investito diversi mesi-uomo in una attività di porting deve comunque produrre un “ritorno” di qualche tipo.

Continua »

Tag: , , , , ,

LLVM: la nuova era delle virtual machine

Negli ultimi 10 anni, abbiamo assistito ad un imponente cambio di rotta nell’industria software e nei linguaggi di programmazione. Tale cambiamento è iniziato in maniera massiccia prima con Java e poi con il .Net framework di Microsoft e consiste nell’ormai noto sistema formato da una Virtual Machine e da un compilatore che non produce più codice nativo, bensì bytecode. Questo ha permesso all’industria di rendersi indipendente dall’hardware sottostante, così come dal sistema operativo su cui dovranno girare le applicazioni.

Tutte queste però in generale sono macchine virtuali molto complesse che elaborano un bytecode abbastanza distante dai linguaggi macchina. Questo si traduce essenzialmente in prestazioni non eccelse e in Virtual Machine molto complesse e spesso pachidermiche.

LLVM ha cercato di spingere ancora di più sull’indipendenza hardware e software delle applicazioni, in più ha introdotto una certa indipendenza dal linguaggio di programmazione base.

Continua »

Tag: , , ,