<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title>Хабрахабр:  Метки / llvm</title>
	<link>http://habrahabr.ru/rss/tag/llvm/</link>
	<description><![CDATA[]]></description>
	<language>ru</language>
	<managingEditor>editor@habrahabr.ru</managingEditor>
	<generator>habrahabr.ru</generator>
	<pubDate>Sat, 11 Feb 2012 02:25:37 GMT</pubDate>
	<lastBuildDate></lastBuildDate>
	<image>
		<link>http://habrahabr.ru/</link>
		<url>http://habrahabr.ru/i/logo.gif</url>
		<title>Хабрахабр</title>
	</image>
	
		
			
		<item>		
			<title><![CDATA[Разработка под Apple iOS / [Из песочницы] Уменьшаем размер своего iOS приложения]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/135684/</guid>
			<link>http://habrahabr.ru/blogs/macosxdev/135684/</link>			
			<description><![CDATA[Хочу поделиться способом, который позволит сэкономить несколько мегабайт «лишнего» веса в вашем iOS приложении. Зачем это может понадобиться? Во-первых, если ваше приложение чуть больше 20 Мб, то его нельзя будет скачать по 3G, а только используя Wi-Fi или синхронизацию c iTunes (ограничение со стороны Apple). Ну, а во-вторых, если вы любите все оптимизировать или просто хотите чуть-чуть сократить время загрузки вашего апа. <br/>
Все нижеперечисленные пункты я проверял и использовал в своем апе, сэкономив суммарно около 4 Мб. Кажется не очень то и много, но если, например, умножить на 5000 тысяч загрузок в день, то уже получим около 20 Гб сэкономленного трафика. Итак, приступим.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/135684/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Wed, 04 Jan 2012 09:17:30 GMT</pubDate>
			<author>fakit</author>
			<category>ios</category><category>llvm</category><category>optimization</category>
		</item>
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[nVidia CUDA / Nvidia открыла исходный код компилятора CUDA]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/CUDA/134624/</guid>
			<link>http://habrahabr.ru/blogs/CUDA/134624/</link>			
			<description><![CDATA[Nvidia открыла исходный код нового компилятора CUDA на базе LLVM. Сорцы не раздаются направо и налево, а доступны только для «квалифицированных исследователей и разработчиков». Для их получения нужно зарегистрироваться, заполнить <a href="http://developer.nvidia.com/content/cuda-platform-source-release">форму</a> и указать, для каких проектов вы намерены применять компилятор. Так что пока непонятно, под какой лицензией опубликован компилятор и вообще — свободная ли это лицензия. В <a href="http://pressroom.nvidia.com/easyir/customrel.do?easyirid=A0D622CE9F579F09&amp;version=live&amp;releasejsp=release_157&amp;xhtml=true&amp;prid=831864">пресс-релизе</a> компания намекает на более открытый доступ к исходникам в будущем.<br/>
<br/>
<img src="http://habrastorage.org/storage1/2530dfda/3796a258/4731d3ae/ce0d3863.jpg"/><br/>
<br/>
С помощью компилятора и нового CUDA Toolkit 4.1 можно будет приспособить платформу GPGPU для других архитектур и процессоров, в том числе AMD GPU и x86 CPU, а также создавать гетерогенные суперкомпьютерные системы.]]></description>
			
			<pubDate>Wed, 14 Dec 2011 18:31:12 GMT</pubDate>
			<author>alizar</author>
			<category>Nvidia</category><category>CUDA</category><category>компилятор CUDA</category><category>GPGPU</category><category>LLVM</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Компиляторы / LLVM 3.0 Release]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/compilers/133939/</guid>
			<link>http://habrahabr.ru/blogs/compilers/133939/</link>			
			<description><![CDATA[1 декабря состоялся <a href="http://lists.cs.uiuc.edu/pipermail/llvm-announce/2011-December/000039.html">релиз</a> LLVM 3.0 (Low Level Virtual Machine) — «инфраструктуры для компиляторов», которая генерирует платформонезависимый оптимизированный байткод низкого уровня (см. <a href="http://habrahabr.ru/blogs/programming/47878/">обзор</a> на Хабре). LLVM используется в том числе в официальных <a href="http://developer.apple.com/technologies/tools/">средствах разработки</a> для Mac OS X и iOS.<br/>
<br/>
С момента выхода LLVM 2.9 прошло шесть месяцев, <a href="http://llvm.org/docs/ReleaseNotes.html">новшеств</a> довольно много, в том числе новый <a href="http://blog.llvm.org/2011/09/greedy-register-allocation-in-llvm-30.html">«жадный» аллокатор регистров</a>. Он применяет интересные способы оптимизации и способен значительно улучшить производительность кода.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/compilers/133939/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Sat, 03 Dec 2011 14:31:22 GMT</pubDate>
			<author>alizar</author>
			<category>LLVM</category><category>Clang</category><category>Dragonegg</category><category>биткод</category><category>компилятор</category><category>аллокатор регистров</category><category>llvm-gcc</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[JavaScript / H.264 декодер на JavaScript]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/javascript/131632/</guid>
			<link>http://habrahabr.ru/blogs/javascript/131632/</link>			
			<description><![CDATA[Прежде чем отправить публикацию, крепко задумался, какой блог выбрать: JavaScript или Ненормальное программирование. Так или иначе круг задач, которые можно решить на детище Нетскейпа расширяется с каждым днем.<br/>
<br/>
Так например разработчики из команды Mozilla смеха ради сделали H.264 декодер на JavaScript. Любопытно, что скрипт при этом не был написан вручную.<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/javascript/131632/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 31 Oct 2011 20:39:37 GMT</pubDate>
			<author>dax</author>
			<category>H.264</category><category>JavaScript</category><category>HTML5</category><category>Firefox</category><category>Emscripten</category><category>LLVM</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Разработка под Apple iOS / Обзор нововведений в Xcode 4.2 для iOS-разработчика]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/130915/</guid>
			<link>http://habrahabr.ru/blogs/macosxdev/130915/</link>			
			<description><![CDATA[Одновременно с релизом iOS5 разработчики получили в свое распоряжение обновленный Xcode 4.2, в котором ожидаемо обнаружились некоторые новые «фичи». Под катом кратко рассмотрим основные нововведения, представленные в XCode 4.2.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/130915/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Fri, 21 Oct 2011 12:10:06 GMT</pubDate>
			<author>Auralien</author>
			<category>Xcode 4.2</category><category>ios development</category><category>automatic reference counting</category><category>storyboarding</category><category>LLVM</category><category>location simulation</category>
		</item>
		
		
		
		
		
		
		
		
	
		
		
		
			
		<item>		
			<title><![CDATA[Разработка под Apple iOS / [Перевод] Automatic Reference Counting: часть 1]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/129874/</guid>
			<link>http://habrahabr.ru/blogs/macosxdev/129874/</link>
			<description><![CDATA[Здравствуйте, коллеги. <br/>
<br/>
Давно читаю блоги и статьи зарубежных разработчиков под iOS. И на днях попалась любопытная, довольно подробная статья об Automatic Reference Counting от разработчика по имени <a href="http://mikeash.com">Mike Ash</a>. <br/>
Статья довольно большая, потому перевод, сделанный мною, рискну разбить на несколько частей. Надеюсь, что уложусь в 2 части.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/129874/#habracut">Часть первая</a> </div>]]></description>
			
			<pubDate>Thu, 06 Oct 2011 14:28:07 GMT</pubDate>
			<author>dals</author>
			<category>ARC</category><category>Automatic Reference Counting</category><category>XCode 4.2</category><category>LLVM</category><category>Clang</category><category>Objective-C</category>
		</item>
		
		
		
		
		
	
		
		
		
			
		<item>		
			<title><![CDATA[Информационная безопасность / [Перевод] Виртуальная машина KLEE для символьного выполнения кода]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/infosecurity/123725/</guid>
			<link>http://habrahabr.ru/blogs/infosecurity/123725/</link>
			<description><![CDATA[В этом посте мы попробуем применить технику символьного выполнения на примере символьной ВМ KLEE для решения простого ASCII-лабиринта. Как вы думаете, сколько верных решений мы сможем найти?<br/>
<img src="http://habrastorage.org/storage1/b6b59d8c/e859b5c3/fffa32b6/771d5fde.png"/><br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/infosecurity/123725/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Fri, 08 Jul 2011 12:45:25 GMT</pubDate>
			<author>arrowdodger</author>
			<category>llvm</category><category>klee</category><category>symbolic execution</category>
		</item>
		
		
		
		
		
	
		
		
		
			
		<item>		
			<title><![CDATA[Компиляторы / [Перевод] Создание языка программирования с использованием LLVM. Часть 4: Добавление JIT и поддержки оптимизатора]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/compilers/120516/</guid>
			<link>http://habrahabr.ru/blogs/compilers/120516/</link>
			<description><![CDATA[Добро пожаловать в Главу 4 учебника «Создание языка программирования с LLVM». Предыдущие главы (<b><a href="http://habrahabr.ru/blogs/programming/119850/">1-я</a></b>, <b><a href="http://habrahabr.ru/blogs/compilers/120005/">2-я</a></b> и <b><a href="http://habrahabr.ru/blogs/compilers/120424/">3-я</a></b>) описывали реализацию простейшего языка программирования и добавление в него ​​поддержки генерации LLVM IR. В этой главе описаны две новых техники: добавление поддержки оптимизатора и добавление поддержки JIT-компилятора. Эти дополнения продемонстрируют как получить хороший, эффективный код для нашего языка программирования Kaleidoscope.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/compilers/120516/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Fri, 03 Jun 2011 04:54:00 GMT</pubDate>
			<author>Amper</author>
			<category>llvm</category><category>ir</category><category>llvm ir</category><category>jit</category><category>оптимизатор</category><category>оптимизация</category><category>ast</category><category>constant folding</category><category>cse</category><category>gcc</category><category>just in time</category><category>компиляция</category>
		</item>
		
		
		
		
		
	
		
		
		
			
		<item>		
			<title><![CDATA[Компиляторы / [Перевод] Создание языка программирования с использованием LLVM. Часть 3: Генерация кода LLVM IR]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/compilers/120424/</guid>
			<link>http://habrahabr.ru/blogs/compilers/120424/</link>
			<description><![CDATA[Добро пожаловать в Главу 3 учебника «Создание языка программирования с LLVM». В этой главе мы рассмотрим, как преобразовать AST (Абстрактное Синтаксическое дерево), построенное в <b><a href="http://habrahabr.ru/blogs/compilers/120005/">Главе 2</a></b>, в LLVM IR. Она расскажет вам о некоторых аспектах работы LLVM, а также продемонстрирует, насколько он прост в использовании. Вы увидите, что гораздо больше труда потребовалось на лексический и синтаксический анализ, чем на непосредственное создание кода LLVM IR.<br/>
<br/>
<b>Обратите внимание</b>: код из этой главы требует наличия LLVM 2.2 или более поздней версии. С версиями по LLVM 2.1 включительно этот код работать не будет. Также стоит отметить, что вам стоит использовать версию этого учебника, которая соответствует вашему релизу LLVM: вы можете использовать документацию, которая прилагается к официальным выпускам или посетить <a href="http://llvm.org/releases/">страницу с релизами на llvm.org</a>.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/compilers/120424/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Thu, 02 Jun 2011 05:38:33 GMT</pubDate>
			<author>Amper</author>
			<category>llvm</category><category>ir</category><category>кодогенерация</category><category>code generation</category><category>jit</category><category>cpp</category><category>ssa</category><category>базовый блок</category><category>control flow</category><category>поток управления</category>
		</item>
		
		
		
		
		
	
		
		
		
			
		<item>		
			<title><![CDATA[Компиляторы / [Перевод] Создание языка программирования с использованием LLVM. Часть 2: Реализация парсера и AST]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/compilers/120005/</guid>
			<link>http://habrahabr.ru/blogs/compilers/120005/</link>
			<description><![CDATA[Добро пожаловать в Главу 2 учебника «Создание языка программирования с LLVM». В этой главе мы увидим, как использовать лексический анализатор, созданный в <a href="http://habrahabr.ru/blogs/programming/119850/">Главе 1</a>, чтобы построить полный <a href="http://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D1%80%D1%81%D0%B8%D0%BD%D0%B3">синтаксический анализатор</a> для нашего языка Kaleidoscope. После того, как у нас будет готов парсер, мы будем строить <a href="http://ru.wikipedia.org/wiki/%D0%90%D0%B1%D1%81%D1%82%D1%80%D0%B0%D0%BA%D1%82%D0%BD%D0%BE%D0%B5_%D1%81%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE">Abstract Syntax Tree (AST)</a> (Абстрактное синтаксическое дерево).<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/compilers/120005/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Thu, 26 May 2011 06:50:02 GMT</pubDate>
			<author>Amper</author>
			<category>llvm</category><category>ast</category><category>parsing</category><category>парсинг</category><category>парсер</category><category>parser</category><category>lexer</category><category>синтаксический анализ</category><category>лексический анализ</category>
		</item>
		
		
		
		
		
	
		
		
		
			
		<item>		
			<title><![CDATA[Python / [Перевод] Unladen Swallow — всё…]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/116314/</guid>
			<link>http://habrahabr.ru/blogs/python/116314/</link>
			<description><![CDATA[<i>От переводчика: пару часов назад Гвидо в своём твиттере <a href="http://twitter.com/#!/gvanrossum/status/52142172778143745">упомянул</a> блог-пост своего коллеги, одного из (бывших) разработчиков Unladen Swallow, в котором тот рассказывает грустную историю яркой, но короткой жизни Unladen Swallow в Google.<br/>
<br/>
Оригинал: Reid Kleckner — <a href="http://qinsb.blogspot.com/2011/03/unladen-swallow-retrospective.html">Unladen Swallow Retrospective</a></i><br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/python/116314/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 28 Mar 2011 01:21:44 GMT</pubDate>
			<author>Honeyman</author>
			<category>unladen swallow</category><category>Python</category><category>Google</category><category>LLVM</category><category>JIT</category>
		</item>
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Программирование / Компиляция. 5 и 1/2: llvm как back-end]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/programming/102597/</guid>
			<link>http://habrahabr.ru/blogs/programming/102597/</link>			
			<description><![CDATA[В серии статей от <a href="http://habrahabr.ru/users/tyomitch/" class="user_link">tyomitch</a> «Компиляция» (<a href="http://habrahabr.ru/blogs/programming/99162/">тут</a>, <a href="http://habrahabr.ru/blogs/programming/99298/">тут</a>, <a href="http://habrahabr.ru/blogs/programming/99366/">тут</a>, <a href="http://habrahabr.ru/blogs/programming/99397/">тут</a>, <a href="http://habrahabr.ru/blogs/programming/99466/">тут</a> и <a href="http://habrahabr.ru/blogs/programming/99592/">здесь</a>) было рассмотрено построение транслятора игрушечного языка jsk, описанного <a href="http://habrahabr.ru/blogs/programming/99397/">в 4 части</a>.<br/>
В качестве back-end для этого транслятора <a href="http://habrahabr.ru/users/tyomitch/" class="user_link">tyomitch</a> предложил реализацию байт-кода и интерпретатор этого байт-кода.<br/>
<br/>
На мой взгляд, более разумным подходом было бы использование существующих решений для backend, например llvm, и следуя принципу «Критика без конкретных предложений — критиканство», я предлагаю вариант реализации этого маленького языка jsk с llvm.<br/>
<br/>
Что это даст для jsk? Настоящую компиляцию, то есть результатом будет исполняемый файл, который не зависит ни от каких runtime, возможность серьезной оптимизации, профилирования кода и автоматически получим документацию по back-end (что облегчит сопровождение).<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/programming/102597/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Wed, 25 Aug 2010 07:08:35 GMT</pubDate>
			<author>OdobenusRosmarus</author>
			<category>компиляция</category><category>llvm</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Персональные блоги / Простой тест llvm/libjit часть III, теперь еще и parrot]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/personal/102533/</guid>
			<link>http://habrahabr.ru/blogs/personal/102533/</link>			
			<description><![CDATA[Эта статья является продолжением статей: <br/>
<a href="http://odobenusrosmarus.habrahabr.ru/blog/99786/"> Простой тест libjit vs llvm</a><br/>
<a href="http://odobenusrosmarus.habrahabr.ru/blog/101769/"> Простой тест llvm/libjit часть II, те же + gnu lightning </a>.<br/>
<br/>
<h4>Вступительный реверанс</h4><br/>
<br/>
В предыдущих статьях рссматривалась производительность llvm, libjit и gnu lightning на примере решета эратосфена. Все из рассмотренных вариантов — низкоуровневые библиотеки, которые имеют хорошую скорострельность, но по существу являются специализированными ассемблерами, и, например, работу со строками придется реализовывать самому.<br/>
<br/>
Есть и другие виртуальные машины, которые можно включить в свою программу в качестве backend для своих <a href="http://en.wikipedia.org/wiki/Domain-specific_language">DSL</a>. Например — родившийся в результате <a href="http://www.perl.com/pub/2001/04/01/parrot.htm">первоапрельской шутки</a> — <a href="http://parrot.org/">parrot</a> — основа будущего перла. <br/>
<br/>
Там возможностей — намного больше, включая строки, хэш-таблицы, безразмерные массивы, garbage collection, консольный и файловый ввод-вывод и другие приятные вещи. Вопрос — какова цена (в потере производительности) за все эти приятные добавления?<br/>
<br/>
Давайте попробуем.<br/>
<div class="habracut"> <a class="habracut" href="http://OdobenusRosmarus.habrahabr.ru/blog/102533/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Tue, 24 Aug 2010 12:50:10 GMT</pubDate>
			<author>OdobenusRosmarus</author>
			<category>llvm</category><category>libjit</category><category>parrot</category><category>gnu lightning</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Программирование / LLVM изнутри: как это работает]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/programming/101838/</guid>
			<link>http://habrahabr.ru/blogs/programming/101838/</link>			
			<description><![CDATA[<a href="http://fastpic.ru"><img src="http://i9.fastpic.ru/big/2010/0817/5a/8ff8540e7d293121ab44d9ef8546d95a.png" align="right"/></a>Приветствую хабраюзеров, в этой статье пойдет речь о внутреннем устройстве компилятора LLVM. О том, что LLVM вообще такое, можно прочитать <a href="http://habrahabr.ru/blogs/programming/47878">здесь</a> или на <a href="http://llvm.org">llvm.org</a>. Как известно, LLVM (условно) состоит из трех частей — байткода, стратегии компиляции и окружения aka LLVM infrastructure. Я рассмотрю последнее.<br/>
<br/>
<h5>Содержание:</h5><ul>
<li>Сборка LLVM</li>
<li>Привязка к Eclipse</li>
<li>Архитектура окружения</li>
<li>LLVM API</li>
<li>Оптимизация Hello, World!</li>
</ul><div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/programming/101838/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Wed, 18 Aug 2010 04:31:49 GMT</pubDate>
			<author>markhor</author>
			<category>llvm</category><category>компиляторы</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Персональные блоги / Простой тест llvm/libjit часть II, те же + gnu lightning]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/personal/101769/</guid>
			<link>http://habrahabr.ru/blogs/personal/101769/</link>			
			<description><![CDATA[Эта статья является продолжением <a href="http://odobenusrosmarus.habrahabr.ru/blog/99786/">Простой тест libjit vs llvm</a>, где сравнивалось быстродействие библиотек для Just In Time компиляции llvm и libjit на примере задачи решета эратосфена. <br/>
<br/>
В этой статье решается точно та же задача — решето эратосфена при помощи еще одной JIT библиотеки — <a href="http://www.gnu.org/software/lightning/manual/lightning.html">GNU lightning </a>.<br/>
<div class="habracut"> <a class="habracut" href="http://OdobenusRosmarus.habrahabr.ru/blog/101769/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Sun, 15 Aug 2010 09:25:12 GMT</pubDate>
			<author>OdobenusRosmarus</author>
			<category>llvm</category><category>libjit</category><category>gnu lightning</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Персональные блоги / Простой тест libjit vs llvm]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/personal/99786/</guid>
			<link>http://habrahabr.ru/blogs/personal/99786/</link>			
			<description><![CDATA[«И опыт, сын ошибок трудных» (с) Сами знаете кто<br/>
<br/>
С самого детства меня интересовали вопросы типа &quot;<i>кто победит — слон или кит</i>&quot;. Или, например, &quot;<i>кто сильнее — тигр или лев</i>&quot;. Теперь, когда я стал взрослым, вопросы немного изменились. Теперь меня интересует в частности — что круче <b>libjit</b> или <b>llvm</b>. <br/>
<br/>
Понятно, что простым способом на такой вопрос не ответить, это продукты у которых экологические ниши не полностью совпадают, однако всегда можно написать простой тест и посмотреть — насколько приятно было писать, насколько быстро выполняется результат, и по крайней мере, составить впечатления о продуктах не из хвалебных статей а, так сказать, личным опытом.<br/>
<br/>
<h4>Итак. Простая задача — решето Эратосфена, или поиск простых чисел. </h4><br/>
<div class="habracut"> <a class="habracut" href="http://OdobenusRosmarus.habrahabr.ru/blog/99786/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 09 Aug 2010 03:35:00 GMT</pubDate>
			<author>OdobenusRosmarus</author>
			<category>llvm</category><category>libjit</category><category>benchmark</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Персональные блоги / [C#/.NET] Генерируем машинный код с помощью LLVM]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/personal/92070/</guid>
			<link>http://habrahabr.ru/blogs/personal/92070/</link>			
			<description><![CDATA[В этом топике я покажу, как без особых трудов сгенерировать и выполнить машинный код с помощью <a href="http://llvm.org">Low Level Virtual Machine</a> на примере функции, вычисляющей ответ на главный вопрос жизни, вселенной и всего такого.<br/>
<br/>
<h4>А для работы нам понадобятся</h4><div class="habracut"> <a class="habracut" href="http://lostmsu.habrahabr.ru/blog/92070/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Thu, 29 Jul 2010 05:58:07 GMT</pubDate>
			<author>lostmsu</author>
			<category>.net</category><category>llvm</category><category>системное программирование</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Python / Слияние и поглощение]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/95201/</guid>
			<link>http://habrahabr.ru/blogs/python/95201/</link>			
			<description><![CDATA[Тихо и незаметно возникло желание написать ещё один пост про Unladen Swallow и <a href="http://habrahabr.ru/blogs/python/73247/">опять</a> начать его словами «тихо и незаметно». Причём в данном случае эти слова будут намного более уместны…<br/>
<br/>
Мы все скучаем без новостей о «ласточке». На <a href="http://code.google.com/p/unladen-swallow/">главной странице</a> проекта в последних новостях сообщается про выпуск очередного ежеквартального релиза — 2009Q3, октябрь прошлого года. На Хабре пробегают новости от самих разработчиков, <a href="http://habrahabr.ru/blogs/google/74948/">вызывающие сомнения</a> в перспективах использования Python-а внутри Google-а, и, соответственно, в заинтересованности Google-а в «ласточке». Всё плохо и безрадостно, казалось бы, не видать нам годного JIT-компилятора в Python-е…<br/>
<br/>
Ан нет. Сегодня, случайно зайдя на канал #unladenswallow на OFTC, <strike>с меня слетела шляпа</strike> меня встретила надпись: <b>PEP 3146 approved!</b> А этот самый <a href="http://www.python.org/dev/peps/pep-3146/">PEP 3146</a> — это, между прочим, описание плана интеграции Unladen Swallow с CPython, имеющее теперь статус Accepted/Standards Track.<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/python/95201/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Tue, 01 Jun 2010 18:48:35 GMT</pubDate>
			<author>Honeyman</author>
			<category>unladen swallow</category><category>Python</category><category>Google</category><category>LLVM</category><category>JIT</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[*BSD / ClangBSD собирает себя]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/bsdelniki/91262/</guid>
			<link>http://habrahabr.ru/blogs/bsdelniki/91262/</link>			
			<description><![CDATA[Процесс, описываемый на <a href="http://wiki.freebsd.org/BuildingFreeBSDWithClang">wiki.freebsd.org/BuildingFreeBSDWithClang</a>, казалось, идет слишком медленно, или же совсем заглох. Однако недавно в рассылке появилось сообщение от Roman Divacky о том, что ClangBSD успешно собирает саму себя на tier 1 платформах (i386 и amd64). <br/>
<br/>
Вкратце ClangBSD — попытка собрать ядро и мир FreeBSD с помощью компилятора clang, который, в свою очередь, является фронтендом к LLVM. Как известно, FreeBSD до сих пор использует GCC версии 4.2.1, т.к. последующие версии сменили лицензию. Clang же имеет BSD-лицензию, а так же имеет много других вкусностей.<br/>
У проекта были проблемы со сборкой libstdc++, однако теперь они преодолены. Единственный известный баг — загрузчик ОС превышает допустимый размер исполняемого файла. Пока что имеется workaround — собирать загрузчик без поддержки UFS1.<br/>
<br/>
Сообщение разработчиков:<br/>
<a href="http://permalink.gmane.org/gmane.os.freebsd.current/124678">permalink.gmane.org/gmane.os.freebsd.current/124678</a><br/>
<br/>
Low Level Virtual Machine:<br/>
<a href="http://llvm.org/">llvm.org/</a><br/>
<br/>
Clang:<br/>
<a href="http://clang.llvm.org/">clang.llvm.org/</a>]]></description>
			
			<pubDate>Sat, 17 Apr 2010 08:45:27 GMT</pubDate>
			<author>arrowdodger</author>
			<category>freebsd</category><category>clangbsd</category><category>llvm</category><category>clang</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Python / Unladen Swallow 2009Q3]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/73247/</guid>
			<link>http://habrahabr.ru/blogs/python/73247/</link>			
			<description><![CDATA[Тихо и совершенно, как говорится, незаметно, запоздало вышла ветка <a href="http://code.google.com/p/unladen-swallow/wiki/Release2009Q3">2009Q3</a> интересного и перспективного проекта Unladen Swallow.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/python/73247/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Fri, 23 Oct 2009 21:23:16 GMT</pubDate>
			<author>Honeyman</author>
			<category>Python</category><category>Unladen Swallow</category><category>Google</category><category>JIT</category><category>LLVM</category>
		</item>
		
		
		
		
		
		
		
		
	
	
	
	
	
	
	
	

	
</channel>
</rss>

