![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#10
|
||||
|
||||
|
LLVM es mas bajo nivel que el bitcode de Java o >NET (osea, no existe una maquina virtual que lo interprete).
Este es un ejemplo de LLVM: http://llvm.org/docs/tutorial/ Si tenemos esta funcion en el front-end: Código PHP:
Código PHP:
En otras palabras, LLVM tiene un lenguaje (el "IR") que esta optimizado para que se puedan hacer analisis y optimizaciones antes de generar el assembler. Esto es porque en compiladores, si quieres que el ejecutable sea mas rapido "Agregale otro pase al compilador"!. PASCAL original era un compilador en 1 solo paso (por eso volaba). Todo lo hace en un solo "tiron". La mayoria de los compiladores/interpretes tienen 3/4 pasos: - Lexing - Parsing - Generar ASSEMBLER o BITCODE o Interpretar Pero para poder hacer optimizaciones, se tiene que agregar otros pasos entre parsing y Generar/Interpretar - Parsing - Optimizar: PeepHole - Optimizar: Constant folding - Optimizar: .... - Generar dataflow - Eliminar variables - .... - Generar ASSEMBLER o BITCODE o Interpretar LLVM esta hecho para poder agregar pasos en toda la cadena del compilador, y se puede decidir si se deja parte del trabajo a LLVM o se toma control casi total del cuento. ---- Ahora, porque LLVM es todo un ecosistema, se pueden integrar herramientas y tecnicas. Por ejemplo, se puede generar un nativo desde un front-end en python, cargar el codigo en memoria, cargar una DLL nativa y hacer el puente. Como un JIT. --- Si a dia de hoy hay que hacer un compilador nativo, LLVM es 100% la respuesta.
__________________
El malabarista. |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Viernes 17 Junio 2016 ¡C++ Builder starter GRATIS¡ | WHILENOTEOF | Noticias | 20 | 18-06-2016 17:12:03 |
| Automatización en Excel Starter 2010 | CFPA86 | Varios | 4 | 09-08-2015 21:36:40 |
| Costo de Licencia C++ Builder 5 | rogeliogamberro | C++ Builder | 1 | 19-10-2012 16:01:40 |
| Builder y Delphi Starter Edition | Neftali [Germán.Estévez] | Noticias | 68 | 17-02-2011 19:47:40 |
| Usar builder en otra pc... | pagoti | C++ Builder | 4 | 05-02-2005 20:29:11 |
|