LLVM sono diverse cose insieme, una sorta di macchina virtuale/compilatore di ottimizzazione, combinato con diversi frontend che prendono l'input in una lingua specifica e producono il risultato in una lingua intermedia. Questo output intermedio può essere eseguito con la macchina virtuale o può essere utilizzato per generare un eseguibile standalone.
Il problema con la concorrenza è che, sebbene sia stato utilizzato per un lungo periodo nel calcolo scientifico, è diventato di recente comune nelle app di consumo. Quindi, mentre è ampiamente noto come programmare un programma di calcolo scientifico per ottenere grandi prestazioni, è completamente diverso scrivere un agente di posta elettronica/un word processor che possa essere efficace in concorrenza. Inoltre, la maggior parte degli attuali sistemi operativi erano progettati con un solo processore in mente e potrebbero non essere completamente preparati per i processori multicore.
Il vantaggio di LLVM rispetto alla concorrenza è che si dispone di un output intermedio, e se in futuro ci sono progressi nella concorrenza, quindi aggiornando il proprio interprete si ottengono istantaneamente quei benefici in tutti i programmi compilati da LLVM. Non è così facile se ti sei compilato per un eseguibile standalone. Quindi LLVM non risolve il problema della concorrenza di per sé, ma lascia una porta aperta per miglioramenti futuri.
Sicuramente ci sono più possibilità per l'hardware come computer quantistici, computer di genetica, ecc. Ma dobbiamo aspettare che diventino realtà.
Questa non è una domanda. Ne vedo almeno tre, forse quattro. –
Vuoi farmi fare tutte le domande a parte? Sono tutti collegati, in un certo senso. Non sono loro? :) –
"Py3k sembra aver risolto il problema dell'impronta di memoria (restituendo iteratori rispetto agli elenchi); ora se LLVM risolve il problema di velocità?" qual'è la domanda? C'è una sorta di domanda implicita ... ma non è chiaro di cosa si tratta. E sì, ci sono troppe domande in una qui! – TofuBeer