DevConf 2016 Почему язык Lua — это интересно
Lua — высокоуровневый язык, похожий на Python/JS, но существенно более простой. Он гибкий и при этом очень быстрый. Возможно, вы слышали про OpenResty. Это решение для разработки Nginx модулей на Lua. Cloudflare, крупнейший CDN/anti-DDOS провайдер, как раз работает на OpenResty. На скоростях 10/100Gb сетевой стек в ядре Linux становится “узким местом”. Есть ряд технологий для выноса обработки пакетов из ядра в userspace; например Snabb Switch. Последний написан целиком на Lua и справляется с потоком в 200+Gb. Как на счет менее экзотических применений? На Lua есть свой Node.js (luvit.io). Lua есть в БД Tarantool. У нас была задача валидации данных на соответствие схеме; мы переписали валидацию с Си на Lua и получили ускорение в 4 раза (за счет JIT-компиляции). Lua набирает популярность и он объективно хорош. Что будет в докладе: 1) Краткое введение в Lua: мы убедимся в том, что язык простой и там есть все необходимое на каждый день. 2) Секция Lua WAT (смешные контр-интуитивные особенности языка, 0 and 1 == 0) 3) Поговорим о том, почему Tarantool использует LuaJIT, а не V8. 4) Разберемся, почему именно Lua такой быстрый, и как работает трассирующий JIT-компилятор.