Pull to refresh

К концу месяца ожидается выход LLVM 2.0

Lumber room
Чего бы ради писать сюда о проекте, который сегодня едва ли разрывает будущее на куски своим неуёмным развитием? Дело в том, что наверняка в будущее можно въезжать также и неспешно, — но всерьёз и надолго.

Low Level Virtual Machine (LLVM) — это основа для разработчиков языков. Может back-end, может middleware — решайте сами.

Итак, ещё вчера в разговорах за бокалом чая с друзьями IT-шниками вы объясняли, что не разрабатываете собственных продвинутых Lisp'ов, Python'ов, PHP'ей, Perl'ов, Ruby'ей в первую очередь потому, что в одиночку создавать шустро работающую имплементацию языка не получится. Было? Сегодня можно быть закиданным тухлыми виртуальными помидорами только по причине такой отговорки. gcc4 пересаженный на движок LLVM в большинстве тестов уже практически не отстаёт от оригинального gcc, а во многих тестах уже бьёт его и бьёт очень серьёзно.

Но разве двухкратное увеличение скорости какого-то теста за счёт LLVM — это та мелочь, на которую стоит купиться? Наверное нет. Дело в куда более далеко идущем заделе. LLVM уже позволяет стандартизировано и высококачественно смешивать языки в приложении. И это без потери производительности. И это так же прямо в run-time. Компилятор и оптимизатор всегда с собой.

Что тут добавить? Наверное, что LLVM не женат на отдельно взятом языке как JVM и пока еще1) не находится в услужение отдельно взятому проприетарному контексту как CLI из .NET. Что еще? Наверное ещё несколько, гм, мелочей:
1. До безобразия аккуратная архитектура;
2. Невероятно конструктивный, талантливый и работоспособный лидер проекта Крис Латтнер (Chris Lattner);
3. Сообщество, подобное его же лидеру, где нет места ненужному апломбу и флеймам.

Поглядывайте за ними. Оно того стоит.



1) хочется надеяться что Apple всё же не заполучит это дитя.
Tags:
Hubs:
Total votes 4: ↑4 and ↓0 +4
Views 348
Comments Leave a comment