Login Barrapunto
FreeBSD planea abandonar GCC por Clang/LLVM
Historias relacionadas
La semana pasada Roland McGrath anunció que el comité que dirigía la GNU libc se disolvía. La biblioteca estándar de C (o simplemente libc) es la primera y principal interfaz de las aplicaciones con el núcleo, y la GNU libc o glibc es la implementación más importante en los sistemas basados en Linux. Todas las distribuciones de escritorio la usan, y los sistemas que no lo hacen acostumbran a ser de propósito más específico, como Android o sistemas embedded (los sistemas BSD también tienen su propia biblioteca). Hace tres años Debian cambió a EGLIBC, una iniciativa aparte para producir una variante de la GNU libc compatible a nivel de fuentes y de binarios. Este proyecto surgió para hacer la biblioteca más configurable (especialmente para proyectos embedded), algo que Ulrich Drepper, por entonces principal autor y mantenedor, no quería. Ahora no se descarta que los cambios de la EGLIBC sean incorporados en el proyecto original. Recomiendo la lectura de detallados artículos de LWN (inglés), y Diego Calleja (castellano).
Precisiones
(Puntos:4, Informativo)( http://press.asqueados.net/ | Última bitácora: Miércoles, 28 Marzo de 2012, 21:17h )
Consultando la wikipedia, me sale que:
1) Efectivamente, Apple es el principal patrocinador.
2) La licencia es University of Illinois/NCSA Open Source License, que según la misma fuente es una combinación entre la MIT y la BSD, con ánimo de ser más clara, manteniendo el mismo espíritu de ambas.
Envíos descartados por Mu [barrapunto.com]
¿Que tiene LLVM que no tenga GCC?
(Puntos:1)( http://barrapunto.com/~orfeo/journal/ | Última bitácora: Miércoles, 11 Enero de 2012, 17:48h )
Re:¿Que tiene LLVM que no tenga GCC?
(Puntos:5, Informativo)( http://barrapunto.com/ )
* GCC incluye más lenguajes: Fortran, Java.
* GCC implementa mejor los lenguajes y los estándares (El soporte de C++ de Clang es muy primitivo todavía).
* GCC tiene más extensiones que Clang/LLVM no tiene.
* GCC funciona en más architecturas que Clang/LLVM.
Ventajas de Clang/LLVM:
* Diseño modular, código fuente limpio y moderno, implementado en C++.
* Más rápido, en ocasiones increíblemente más rápido. [1][3]
* Aunque GCC genera muchas más micro-optimizaciones, LLVM tiene optimizaciones con mucho impacto, como Link-Time Optimization. [1][2]
* Los diagnósticos de Clang son muchísimo mejores que los de GCC.[3]
Mi conclusión es que GCC le lleva una ventaja relativa a Clang/LLVM en algunas cosas que están todavía siendo desarrolladas. Pero Clang/LLVM le lleva una ventaja *enorme* a GCC en cosas en las que los desarrolladores de GCC ni siquiera están trabajando.
Como contribuidor esporádico a GCC, la situación actual da un poco de pena, pero o cambia mucho el desarrollo de GCC (el nuevo soporte de plugins en GCC es un pequeño paso), o más y más recursos se van a redirigir a Clang/LLVM en detrimento de GCC.
Por cierto, Chris Lattner, el creador de Clang/LLVM, es un genio, tanto en el aspecto técnico como en el aspecto social, lo que a mi parecer es una parte importante del éxito que está teniendo LLVM.
Y pensar que llegó a proponer contribuir LLVM a GCC (y al proyecto GNU): http://gcc.gnu.org/ml/gcc/2005-11/msg00888.html [gnu.org]
[1] http://gcc.gnu.org/ml/gcc/2009-05/msg00302.html [gnu.org]
[2] http://llvm.org/ [llvm.org]
[3] http://clang.llvm.org/comparison.html#gcc [llvm.org]
Embedded crap
(Puntos:2, Inspirado)Ulrich Drepper lleva 12 años al frente del desarrollo y varios años más trabajando en glibc (pasando por la FSF, cygnus y redhat). Ha revisado e integrado miles de parches, así que si dice que el tuyo es erróneo al menos deberías revisarlo antes de pensar que es algo personal.
Por cierto, eglibc no sustituye "la libc de GNU" porque no es "otra libc" o ni siquiera un fork de aquella: sólo es un parche sincronizado con la última versión de glibc igual que los miles de parches que aplican regularmente los empaquetadores de debian.
EGlibc está basado en Glibc
(Puntos:4, Informativo)( http://blogs.nologin.es/slopez | Última bitácora: Sábado, 02 Septiembre de 2006, 01:17h )
Por lo tanto, la pérdida de influencia del proyecto GNU es un tanto relativa.
gcc es bastante malo
(Puntos:2)( http://barrapunto.com/ )