El otro secreto de Apple: El compilador LLVM

producto_developer.pngAl igual que SproutCore, LLVM no es nuevo ni secreto, pero ambos han estado escondiéndose de la atención debido a una gruesa capa de complejidad que oscurece su futuro potencial.



Clang y LLVM-GCC

El año pasado el proyecto publicó Clang como unas herramientas de compilador de LLVM encabezadas por Apple que tenían como intención compilar rápidamente con poca memoria, diagnósticos expresivos y una arquitectura modular basada en bibliotecas y con una integración sólida dentro de IDE como Xcode, todos ofrecidos bajo una licencia BSD open-source.

Además del proyecto LLVM Clan, Apple también ha comenzado a trabajar en integrar los componentes de LLVM en GCC existente basado en la Proposición de Integración LLVM/GCC de Lattner. Esto ha resultado en un sistema híbrido que utiliza los componentes maduros de GCC como frontal, mientras que le agrega la partes mas valiosas de LLVM, incluyendo sus modernos optimizadores de código.

En el proyecto conocido como LLVM-GCC inserta el optimizador y generador de código de LLVM dentro de GCC ofreciendo métodos modernos para “curvas agresivas, escalas estándar, optimizaciones interprocedimientos y análisis interprocedimientos” que faltaban en los componentes de GCC estándar.

LLVM-GCC está diseñado para ser altamente compatible con GCC para que los desarrolladores puedan mudarse al nuevo compilador y beneficiarse de todas las optimizaciones sin hacer cambios sustanciales al flujo de trabajo.

Apple también usa LLVM en el stack OpenGL de Leopard, aprovechando el concepto de IR común de su máquina virtual para emular el hardware OpenGL en Macs que no tienen la potencia de hardware necesaria para interpretar el código. El código es interpretado en el CPU.

Igualmente Apple utiliza LLVM en el desarrollo del iPhone, ya que la arquitectura modular del proyecto hace más fácil añadir soporte para otras arquitecturas, como ARM, ahora soportada en LLVM 2.0 gracias al trabajo hecho por el INdT de Nokia.

Fuente: AppleInsider

0 0 votos
Article Rating
Subscribe
Notify of
0 Comments
Opiniones Inline
Ver todos los comentarios
0
Me encantaría saber tu opinión, por favor, deja un comentariox
()
x