Comments 8
Очень подходящая иллюстрация!
Эх… было время, занимался такими штуками. По неопытности написал зелененькую сумбурную (очень хотелось инвайт на хабр) статью по подобной тематике. Если кому интересно, то статья на хабре.
Спасибо за перевод, JIT горизонт стал ближе.
Было бы интересно узнать как.
… для быстрого поиска по большому битовому массиву мы в Badoo используем JIT
Было бы интересно узнать как.
Привет. Как-нибудь мы обязательно подробно расскажем про это!
Мы пакуем различные данные пользователя (пол, возраст, кого он ищет, от какого до какого возраста и еще штук 15 других параметров) в большой большой битмап и умеем очень быстро искать по нему, используя широкие операции процессора (SSE, AVX, AVX2). Т.к. поисковые фильтры всегда разные, вот эта вот программа поиска генерируется налету самописным JIT-ом.
Мы пакуем различные данные пользователя (пол, возраст, кого он ищет, от какого до какого возраста и еще штук 15 других параметров) в большой большой битмап и умеем очень быстро искать по нему, используя широкие операции процессора (SSE, AVX, AVX2). Т.к. поисковые фильтры всегда разные, вот эта вот программа поиска генерируется налету самописным JIT-ом.
JIT – это акроним от “Just In Time” или, если переводить на русский, “на лету”. Это нам ни о чем не говорит и звучит так, будто к программированию не имеет никакого отношения.
Естественно ни о чем не говорит, ведь вы 10 раз в первых трех абзацах написали слово JIT, но ни разу не написали «компиляция». Так что действительно сложно понять, о чем идет речь.
Всегда хотелось понять как же выполнять машинный код в сегменте данных. А ларчик просто открывался. Даже и не задумывался зачем у mmap есть PROT_EXEC. Теперь все встало на свои места!
Sign up to leave a comment.
Как работать с JIT