Quali proprietà di LLVM sono una buona scelta per l'implementazione di un linguaggio orientato (parallelo, concorrente, distribuito), cosa lo rende cattivo?LLVM è adatto per le lingue parallele?
10
A
risposta
16
LLVM è chiamato LLVM (macchina virtuale a basso livello) per una buona ragione. È così di basso livello che non sei legato a nessuna particolare semantica per la tua lingua di partenza.
Ci sono alcune cose utili a LLVM che rende la compilazione di alcune lingue parallele più semplice - per esempio, salta ai blocchi arbitrari: http://llvm.org/docs/LangRef.html#blockaddress
E LLVM non implica alcuna particolari proprietà di esecuzione, non forzare alcuna specifica implementazione di GC . Puoi costruire tutto quello che vuoi su di esso.
4
Per alcuni esempi pratici in questo spazio vedere http://code.google.com/p/gpuocelot/. Permette al codice Cuda di multitarget su x86.
Problemi correlati
- 1. Monotouch.Dialog è un sostituto adatto per tutte le UITableviews?
- 2. L'inversione del controllo è specifica per le lingue OO?
- 3. UTF-8 è sufficiente per tutte le lingue comuni?
- 4. Haskell è adatto per l'informatica quantistica?
- 5. Le macchine virtuali come LLVM o PARROT consentono l'utilizzo della stessa libreria da più lingue?
- 6. Twitter Bootstrap è adatto per touch screen?
- 7. Mysql colation per tutte le lingue
- 8. Quanto è stabile la lingua dell'assemblaggio LLVM?
- 9. Judy array per le lingue gestite
- 10. espressioni regolari - uguale per tutte le lingue?
- 11. Alcune lingue e usi per le monadi
- 12. L'immutabilità è utile su applicazioni non parallele?
- 13. LLVM JIT velocizza le scelte?
- 14. Come è possibile stampare le istruzioni in llvm
- 15. Passa per nome e passa per le lingue valore-risultato
- 16. UUID.randomUUID() è adatto per l'uso come password monouso?
- 17. XPath è adatto al formato HTML5?
- 18. libGDX è adatto allo sviluppo di applicazioni solo per desktop?
- 19. OCaml è adatto per scrivere server di rete?
- 20. A quali attività è più adatto F #?
- 21. Quale costrutto Camel è adatto alla trasformazione?
- 22. Framework GUI adatto per Scala?
- 23. Perché XAMPP non è adatto alla produzione?
- 24. non è stato trovato alcun metodo adatto per ignorare C#
- 25. RavenDB è adatto a questo concetto?
- 26. Implementazione di coordinate parallele?
- 27. StyleCop per altre lingue
- 28. È possibile trasformare il bytecode LLVM in bytecode Java?
- 29. Utilizzo di LLVM 3.3 backend per compilare OpenCL per AMD
- 30. Scikit-learn è adatto per attività di big data?