Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 January 22

IJ

Islom Jumaniyozov in NodeUA - JavaScript and Node.js in Ukraine
Miseo
ага. понял
то же самое и Deno это тоже новый runtime environment только большинство функционала разрабатывается в Rust например асинхронность выполняется при помощи Tokio
источник

DD

Dmytro Drachov in NodeUA - JavaScript and Node.js in Ukraine
ну libuv делал для кросплаформеного io т.к. под io нв разных платформах лежать разные системные вызовы, тут я сам не мастер, но вызовы по типу socket, listen, poll, open.

Короче fs на этом по этому есть такой параметр LIBUV_THREAD_POOL_SIZE(написал как впомнил). Также uv под собой юзает kqueue или еще там чет в зависимости от платформы, короче это байда которая уведомит твой поток о том что в io готов и можно читать.


сallstack - это ну колстек, цепочка вызовов, типо libuv в душе не чает что у тебя там в js callstack, ей и не надо, она в своем мире.

А вот ивент луп это штука даже не из v8, хоть вроде в v8 есть примитивная реализация лупа, но типо ее не юзают.

Если что в v8 нету setTimeout() и fetch, и вообще он практически синхронный, из ассинхроного там только Promise и это тоже скользкий момент. Вся асинхронщина это дело рук окружения.

Там вот был такой чувак Райан Дал (думаю он был не один, да вообщем какая разница) который взял всю эту лабу склеил вместе и написал правила лупа и назвал это нодой. По этому очень долго луп в браузере и в ноде отличался. Он и сейчас не один в один но там где он пересекаеться вроде как работает одинаково
источник

DD

Dmytro Drachov in NodeUA - JavaScript and Node.js in Ukraine
LIBUV_THREAD_POOL_SIZE - типо по дефолту он 4 и у тебя паралельно система может читать только 4 файла.
источник

IJ

Islom Jumaniyozov in NodeUA - JavaScript and Node.js in Ukraine
Dmytro Drachov
ну libuv делал для кросплаформеного io т.к. под io нв разных платформах лежать разные системные вызовы, тут я сам не мастер, но вызовы по типу socket, listen, poll, open.

Короче fs на этом по этому есть такой параметр LIBUV_THREAD_POOL_SIZE(написал как впомнил). Также uv под собой юзает kqueue или еще там чет в зависимости от платформы, короче это байда которая уведомит твой поток о том что в io готов и можно читать.


сallstack - это ну колстек, цепочка вызовов, типо libuv в душе не чает что у тебя там в js callstack, ей и не надо, она в своем мире.

А вот ивент луп это штука даже не из v8, хоть вроде в v8 есть примитивная реализация лупа, но типо ее не юзают.

Если что в v8 нету setTimeout() и fetch, и вообще он практически синхронный, из ассинхроного там только Promise и это тоже скользкий момент. Вся асинхронщина это дело рук окружения.

Там вот был такой чувак Райан Дал (думаю он был не один, да вообщем какая разница) который взял всю эту лабу склеил вместе и написал правила лупа и назвал это нодой. По этому очень долго луп в браузере и в ноде отличался. Он и сейчас не один в один но там где он пересекаеться вроде как работает одинаково
да именно libuv и заменяет Tokio в Deno
источник

DD

Dmytro Drachov in NodeUA - JavaScript and Node.js in Ukraine
Ваше не вкурсе что там в дено если честно=) но ты про этот токие https://github.com/tokio-rs/tokio который на расте?
источник

IJ

Islom Jumaniyozov in NodeUA - JavaScript and Node.js in Ukraine
Интересно используется ли Deno уже в продакшне
источник

𝔅К

𝔅илен Куприенко... in NodeUA - JavaScript and Node.js in Ukraine
Islom Jumaniyozov
Интересно используется ли Deno уже в продакшне
Нет)
источник

IJ

Islom Jumaniyozov in NodeUA - JavaScript and Node.js in Ukraine
Dmytro Drachov
Ваше не вкурсе что там в дено если честно=) но ты про этот токие https://github.com/tokio-rs/tokio который на расте?
да именно про него, он заменяет libuv на Deno
источник

DD

Dmytro Drachov in NodeUA - JavaScript and Node.js in Ukraine
источник

Т

Тёмыч in NodeUA - JavaScript and Node.js in Ukraine
Islom Jumaniyozov
Интересно используется ли Deno уже в продакшне
Я вообще не понимаю, зачем он. Веб клепать? Так в этой нише уже вагон технологий на вкус и цвет
источник

DD

Dmytro Drachov in NodeUA - JavaScript and Node.js in Ukraine
Пацан решил - пацан сделал. Не буду уверждать может он и tokio взял бо интересно=)
источник

IJ

Islom Jumaniyozov in NodeUA - JavaScript and Node.js in Ukraine
Тёмыч
Я вообще не понимаю, зачем он. Веб клепать? Так в этой нише уже вагон технологий на вкус и цвет
да я сам не знаю просто интересно каким он будет в продакшне использовании в отличии от Node, Ryan Dahl же сказал 10 вещей о которых он жалеет в Node
источник

M

Miseo in NodeUA - JavaScript and Node.js in Ukraine
Я тут прочитал что компилируемый язык может быть до 100 раз быстрее интерпретируемого. Соответственно вопрос: ускоряет ли тайпскрипт исполнение кода?
источник

Д

Дмитрий in NodeUA - JavaScript and Node.js in Ukraine
речь наверно была про питон vs плюсы
источник

DD

Dmytro Drachov in NodeUA - JavaScript and Node.js in Ukraine
Miseo
Я тут прочитал что компилируемый язык может быть до 100 раз быстрее интерпретируемого. Соответственно вопрос: ускоряет ли тайпскрипт исполнение кода?
правильный ответ и да и нет=)
источник

IJ

Islom Jumaniyozov in NodeUA - JavaScript and Node.js in Ukraine
Miseo
Я тут прочитал что компилируемый язык может быть до 100 раз быстрее интерпретируемого. Соответственно вопрос: ускоряет ли тайпскрипт исполнение кода?
да нет Typescript компилируется в Javascript
источник

Д

Дмитрий in NodeUA - JavaScript and Node.js in Ukraine
а тайпскрипт, ну вообще-то ускоряет, но там не сильно заметно. происходит это потому что ts заботиться о правильности подачи кода турбофану
источник

IJ

Islom Jumaniyozov in NodeUA - JavaScript and Node.js in Ukraine
Miseo
Я тут прочитал что компилируемый язык может быть до 100 раз быстрее интерпретируемого. Соответственно вопрос: ускоряет ли тайпскрипт исполнение кода?
языки которые прямо компилируются да они быстрее но там написать правильный код и сложнее
источник

Д

Дмитрий in NodeUA - JavaScript and Node.js in Ukraine
вообще это всё сильно зависит от случая к случаю. уверен можно найти компилируемый язык который будет медленнее чем жс
источник

M

Miseo in NodeUA - JavaScript and Node.js in Ukraine
Дмитрий
а тайпскрипт, ну вообще-то ускоряет, но там не сильно заметно. происходит это потому что ts заботиться о правильности подачи кода турбофану
Значит что бы это проверить, мне надо взять какой то код с тучей вычислений, склонировать папку и в копию внедрить тайпскрипт и делать замеры?
источник