¿Qué propiedades de LLVM hace que sea una buena elección para la implementación de un lenguaje (paralelo, concurrente, distribuido), lo que lo hace malo?¿Es LLVM adecuado para idiomas paralelos?
10
A
Respuesta
16
LLVM se llama LLVM (máquina virtual de bajo nivel) por una buena razón. Es de tan bajo nivel que no está sujeto a ninguna semántica particular para su idioma de origen.
Hay algunas cosas útiles en LLVM que hace compilación de algunos lenguajes paralelos más fácil - por ejemplo, salta a los bloques arbitrarios: http://llvm.org/docs/LangRef.html#blockaddress
Y LLVM no implica ningún propiedades de ejecución particulares, no obliga a ninguna implementación específica de GC . Puedes construir lo que quieras encima de él.
4
Para algunos ejemplos prácticos en este espacio, vea http://code.google.com/p/gpuocelot/. Permite el código de Cuda para multitarget en x86.
Cuestiones relacionadas
- 1. ¿MapReduce es adecuado para mí?
- 2. SQLite es adecuado para el uso del sitio web
- 3. ¿Qué CMS es adecuado para mí?
- 4. ¿Google App Engine es adecuado para mí?
- 5. Es adecuado para un desarrollador sin servidor
- 6. ¿Es CouchDB el más adecuado para lenguajes dinámicos?
- 7. Depuradores paralelos
- 8. ¿Es posible distribuir STDIN en procesos paralelos?
- 9. de LLVM para GHC
- 10. ¿Es OpenGL ES adecuado para realizar animaciones esqueléticas?
- 11. clave Adecuado para NSDictionary
- 12. Preguntas para compilar a LLVM
- 13. LLVM ¿Qué es y cómo puedo usarlo para compilaciones multiplataforma
- 14. Uso de One Kinect para Windows para dos procesos paralelos
- 15. Hacer (trabajos paralelos) en Windows
- 16. Establecer valor para llvm :: ConstantInt
- 17. StyleCop para otros idiomas
- 18. Marco GUI adecuado para Scala?
- 19. multithreading (openMP): cuántos subprocesos paralelos
- 20. ¿El proyecto Lombok es adecuado para grandes proyectos de Java?
- 21. ¿Qué tan adecuado es un DVCS para el entorno corporativo?
- 22. ¿Es adecuado BackgroundWorker para una operación de larga duración?
- 23. ¿Es web2py adecuado para un gran sitio web público?
- 24. ¿Cuál es el método adecuado para imprimir excepciones de Python?
- 25. Rieles: ¿es Passenger Standalone adecuado para la implementación de producción?
- 26. ¿Monotouch.Dialog es un reemplazo adecuado para todas las UITableviews?
- 27. Entity Framework: ¿es adecuado para la aplicación Enterprise Level?
- 28. ¿C# es adecuado para un lenguaje de scripting?
- 29. ~ 1s aplicación de control de latencia: ¿es adecuado para Java?
- 30. ¿Es Pex (y su salida) adecuado para un entorno empresarial?