Ale
мне казалось, что он медленнее, хоть и незначительно
Ale
ну а luajit конечно)
KlonD90
ну там по тестам рвал когда-то. сейчас может уже догоняют.
KlonD90
но в тарантуле меня этот lua все равно напрягает :/
Konstantin
Kons
Dmitrii
Konstantin
Почти
Konstantin
Никто не мешает писать raw
Konstantin
Ну и маппинг 1:1, 1:n, n:n есть
Dmitrii
Ну такой маппинг во всех орм есть же
Aleksand
Kons
Kons
Действительно, сильно проигрывает
Дима
https://translate.google.ru/
Дима
Ну если тебе надо переводить 12 Гбит/сек, то только платно))
Дима
Быстро, много, бесплатно — выберите любые два
Aleksand
а кто-нибудь озадачивался вопросом быстрейшего парсинга JSON на NodeJs? есть ли что-то значительно быстрее JSON.parse?
Serhii
Я полюбил Коа, кастомизируемый очень сильно и это очень нравится
Дима
Vladimir
Aleksand
KlonD90
а что упираетесь в JSON parse? Вроде один из самых быстрых парсингов такого нетипизированного формата
A
а кто-нибудь озадачивался вопросом быстрейшего парсинга JSON на NodeJs? есть ли что-то значительно быстрее JSON.parse?
Смотря что именно ты имеешь в виду под парсингом.
Если string -> json в общем виде, то скорее всего JSON.parse твой выбор. Ну... может быть какая-то нативщина существует, которая будет быстрее, но интеграция падает на твои плечи.
Потоковые парсеры на ноде вообще очень странно-сложная штука.
Возможен вариант, когда ты, например реально не хочешь парсить всё, а хочешь получить данные только из некоего подмножества. В таком случае таки да, тебе нужен SAX парсер. И в определенных случаях даже плохонький SAX будет быстрее чем JSON.parse
A
A
Тогда и не парься
A
SAX/потоковый парсер на таких объемах тебе даст большой оверхед. Он вообще для другого.
А если ты напишешь более быстрый JSON.parse, то срочно публикуй в npm )
Aleksand
Тогда и не парься
ну на больших нагрузках это приводит к большим проблемам которые там на месте с наскока уже не решить)
Vladimir
Это решается простой балансировкой
Aleksand
A
Ну смотри, JSON.parse в данном случае - чистое вычисление. Т.е. в рамках ноды ты его не сможешь ни распараллелить, ни пустить хм.. в другой поток
Учитывая, что я напрочь не знаю, как устроен внутри JSON.parse, но знаю как устроены парсеры JSON в некоторых других языках, то мой опыт говорит, что едва ли ты напишешь что-то чуть более быстрое, чем JSON.parse. По крайней мере это не решит твою проблему с нагрузкой.
Aleksand
Vladimir
Всего приложения
A
нагрузки по инстансам приложения
A
В общем Vladimir прав. Думаю про балансировку и scale-out
Aleksand
нагрузки по инстансам приложения
ну оптимизация скорости парсера - вопрос вертикального масштабирования, а инстансы и распределение - это горизонтальное. разные области
Vladimir
Это так, но скорость парсинга не должна быть существенной для масштабирования
A
Ну тут идея такая, что ты не получишь 200% ускорения на парсере
Vladimir
Если она существенно - то это фундаментальные проблемы
Aleksand
Vladimir
Никакая либа не даст тебе тот же интерфейс что JSON.parse быстрее
Vladimir
Потому что он сам парсинг занимает незначительную часть времени
Aleksand
Vladimir
Я экспериментировал с подобным подходом
Vladimir
Результат - только потеря производительности
Aleksand
Aleksand
например в го есть реализации работающие с json в 10 (!) раз быстрее чем стандартная библиотека, поэтому непонятно почему стандартная бибилотека эталон? тем более глядя на нативную реализацию в ноде промисов эпичную, которая нереально плоха была до недавнего времени
Aleksand
A
Vladimir
Vladimir
При этом парсер работал в параллельном потоке
Aleksand
Vladimir
> c JSON.stringify
Aleksand
а зачем сравнивать encode и decode? это же разные задачи
Vladimir
всмысле JSON.parse, конечно
Vladimir
Нет
Vladimir
Парсер на C с JSON.parse
Vladimir
Не помню уже, какой-то из очень быстрых
Anonymous
> несопоставимых
> несколько КБ
🤔
Anonymous
пасаны, в express-session указал secret, resave и saveUninitialized. все норм было. Потом подключил express-socket.io-session и в консоле начало выдавать что secret, resave и saveUninitialized не объявлены. Кто нить сталкивался?
KlonD90
KlonD90
Ну и дефолтная библиотека в Js лучше чем в go
Vladimir
Секрет просто - в Go просто плохая стандартная реализация
KlonD90
Vladimir
О какой реализации в Go речь, для начала?
Vladimir
Сложно утверждать, что в V8 не оптимальная реализация