Я слышал, llvm юзают в какой-то СУБД для омтимизации запросов - запрос компилится в бинарный код и т.п.
А у меня сейчас есть схема данных (ну типа перечисление типов и имён полей). Эти поля приходят в засериализованном виде. Вот хочется на лету скомпилить бинарный код десериализации потока заданного в конфиге формата. Поток жирный, не хочется кусок динамически типизируемой хрени в рантайме исполнять типа:
if(type[i] == INT) deserializeInt();
else if ( type[i] == STRING ) deserializeString();
а хочется скомпилить по конфигу такой код:
deserializeInt();
deserializeInt();
deserializeString();
deserializeString();
deserializeInt();
deserializeInt();
Не буду скорее всего я ничего такого сейчас делать, просто интересно насколько это дико. Щас времена такие, что многое дикое становится недиким...