Дано: больщой массив записей (умещается в 8 GB оперативки) и некий поисковый запрос, формируемый пользователем. Хочется этот запрос скомпилировать в нативный код и дальше уже выполнять максимально быстро.
В терминах интерпретируемого языка это был бы eval, а мне такой изврат очень хочется для компилируемого. Можно, конечно, создать генератор сишного кода, вызывать gcc, создавать shared library, загружать его и затем уже вызывать, но это как-то не Ъ.
P. S. вариаций поискового запроса может быть огромное количество, предварительно сгенерировать код для каждого не представляется возможным. О методе «выявить самые популярные и предварительно заоптимизировать только их» я подумал. Так неинтересно.