holyjs HolyJS 2019 СПб (24.05.2019 — 25.05.2019)

Node.js: так же быстро, выше, сильнее с GraalVM

img

Вы узнаете о новой реализации Node.js-рантайма со всеми его плюсами и минусами и поймете, стоит ли попробовать эту реализацию сейчас или продолжить работать с вашим текущим рантаймом.

Комментарий Программного комитета:

Издревле JS на сервере запускали на разных VM, но с появлением Node.js запуск не на V8 стал чем-то странным. V8 действительно очень крут, но иногда нам нужно подружить серверный JS с другим окружением, например, с Java для энтерпрайза или с Python для доступа к бесконечному источнику ML-библиотек. Кажется, GraalVM может помочь нам…​

GraalVM — это новый рантайм для программ, написанных на разных языках, в т. ч. JS. В него входит Node.js, где V8 заменен его собственным движком JavaScript, написанным на Java 😱.

Возможно, Java и не самый очевидный выбор для реализации движка, но она открывает очень интересные возможности:

  • интеграция с Java-приложениями и библиотеками;

  • интеграция с другими языками, которые поддерживает GraalVM: Python, Ruby, R, C/C++ через LLVM;

  • запуск Node.js-приложений с большими memory heaps;

  • улучшенная безопасная среда и другие параметры безопасности.

В этом докладе мы поговорим о том, как в GraalVM реализована поддержка языков, как с помощью частичных вычислений и новейшего JIT-компилятора GraalVM удается достигать неплохой производительности даже в самых динамических языках. Вы узнаете об особенностях интеграции управляемых событиями сред Node.js с управляемой потоками JVM, о том, как запускать код в безопасной среде, чтобы ограничить его доступ к файловой системе или сети, и о том, как GraalVM работает с нативными расширениями модулей JavaScript.

Из доклада вы узнаете о новой реализации Node.js-рантайма со всеми его плюсами и минусами и поймете, стоит ли попробовать эту реализацию сейчас или продолжить работать с вашим текущим рантаймом.