Vladimir
Никаких свидетельств в пользу этого нет
KlonD90
О какой реализации в Go речь, для начала?
Н у наверняка чувак про мыловскую
KlonD90
Там где код заранее сгенерил для каждого типа меседжа.
Aleksand
О какой реализации в Go речь, для начала?
стандартная против jsonparser, но это другой язык и другая история
Vladimir
Ну ты сам эту историю привел, как бы
Vladimir
Сходу видно что этот парсер делает не то же самое, что стандартный парсер в Go
Vladimir
Следовательно сравнивать бессмысленно
KlonD90
Ты не получишь выигрыш из за того что нельзя сразу алоцировать память в хипе для объекта целиком и просто писать из экстрима туда
Aleksand
Никаких свидетельств в пользу этого нет
https://github.com/miloyip/nativejson-benchmark там есть и V8
Vladimir
> , allocates no memory
Vladimir
true story
Vladimir
https://github.com/miloyip/nativejson-benchmark там есть и V8
v8 против другого парсера, который выдает js-объекты?
Aleksand
v8 против другого парсера, который выдает js-объекты?
реализация парсинга на с/c++ там сравнивается, конвертация в js-объект задача уже другая
Vladimir
Это не так
Дима
Кстати а в V8 то на чём парсинг реализован?
Vladimir
Vladimir
Вот код из бенчмарка
Дима
А то многие почему то думают, что раз V8 то там и Array.map и промисы будут на крестах а не на js
KlonD90
Ну вряд ли получишь выигрыш. В v8 json дико разогнан так что единственно по размерности можно выиграть
KlonD90
Ну и он это делает сразу в хипе
KlonD90
То есть ты можешь на c сделать крутой парсер который тоже за счет типизации будет не делать лишних проверок. А потом все равно встанет вопрос что нужно создать js объект и засунуть все это в скоп джса
Vladimir
Можно сделать точно также как в той либе на Go
Vladimir
В итоге просто размажется оверхэд
Aleksand
В итоге просто размажется оверхэд
ну на го есть и не как в той либе на го и все равно быстрее стандартной в 2-3 раза
Vladimir
Вот это объяснеятся тем что стандартная просто плохая
KlonD90
это самом собой
Ну и тут у тебя 2 алокации против нативного
Aleksand
Вот это объяснеятся тем что стандартная просто плохая
ну да, я ж не спорю с этим. вопрос лишь в том почему в ноде нативный парсинг оптимальный как утверждается выше?
Vladimir
Я не уверждаю что он оптимальный. Я говорю что нельзя утверждать что он неоптимальный
Aleksand
Я не уверждаю что он оптимальный. Я говорю что нельзя утверждать что он неоптимальный
я этого не утверждал) вопрос изначальный был - есть ли внятные более быстрые альтернативы
Vladimir
не оптимальная, ровно как и в V8, но во втором случае что-то сделать сильно сложнее чем в первом
Aleksand
да, ок, я неверно выразился.
KlonD90
ну да, я ж не спорю с этим. вопрос лишь в том почему в ноде нативный парсинг оптимальный как утверждается выше?
Потому что json это основа языка. Это чуть ли не первая оптимизация и еще вот эти ограничения что нельзя снаружи также эффективно собрать объект
Aleksand
Я не уверждаю что он оптимальный. Я говорю что нельзя утверждать что он неоптимальный
почему нельзя сравнивать реализацию rapidjson и v8 в части работы с json исключив неизбежные накладные расходы в nodejs?
Vladimir
Можно, но никто этого не сделал
Aleksand
Потому что json это основа языка. Это чуть ли не первая оптимизация и еще вот эти ограничения что нельзя снаружи также эффективно собрать объект
я периодически смотрю как в ноде плавает производительность "основ", вот года 2 назад производительность console могла плавать в разы в разных версиях. поэтому тут может быть всякое на деле.
Aleksand
Можно, но никто этого не сделал
ну в ссылке с бенчмарками сравнивается же. или там некорректное сравнение?
Vladimir
Некорректное
Vladimir
Он не исключает как раз те самые накладные расходы
Vladimir
Корректным было бы сделать форк V8 с альтернтивным парсером
KlonD90
Корректным было бы сделать форк V8 с альтернтивным парсером
Вот да только так и можно но внедрять такое в прод я бы не стал
Aleksand
Он не исключает как раз те самые накладные расходы
там сравниваются c/c++ слои, почему именно оно некорректно?
Anonymous
Где можно почитать о всей этой маршрутизации? Учусь на nodebeginners и не могу допереть до истинного смысла использования server.js, router.js и почему отдельные части кода должны находится в определенном месте. Запутался совсем.
Vladimir
там сравниваются c/c++ слои, почему именно оно некорректно?
Потому что v8 создает js объекты, и именно там сосредоточены основные затраты
Mykola 🤷🏼‍♀️
А нельзя ли просто вызвать eval? :)
Aleksand
Потому что v8 создает js объекты, и именно там сосредоточены основные затраты
да, понял о чем речь. rapidjson быстрее в 5-6 раз, однако автор неуверен что выигрыш останется при портировании в binding
Aleksi
возникла проблема с webpack-dev-server когда делаю запрос к серверу за данными он мне выдает 301 статус и логгер сервака не показывает запрос, в хроме запрос отображается.
Aleksi
Aleksi
копать надо куда-то в сторону прокси как мне кажется
Ivan
Ребят, делал кто то вывод денег с приложеньки на карту пользователя через пейпал? Просто подскажите куда посмотреть. Там в доке много всего, глаза разбегаються, а сделать надо на вчера.
Сергей
Добрый день! Есть вопрос) Запускаю express сервер на виртуалке, и как только отключаюсь от ssh процесс завершается и express уже не отвечает на запросы как устранить?)
Vladimir
@fomsmc через pm2 запускать, например
Сергей
спасибо, сейчас почитаю
Nikolay
еще есть forever
Nikolay
если первый не осилишь
Zaur
если первый не осилишь
но лучше все таки осилить pm2 ) он гораздо круче
Vladimir
втупую вообще можно nohup node app.js &
Vladimir
но тогда перезапускаться не будет )
Zaur
а для тестов луше nodemon app.js, тогда сам будет перезапускаться в момент когда меняются js файлы
Сергей
всем спасибо) с pm2 заработало)
Golodnyi
Нодовцы, чем деплоить приложение на сервер? Интересует какое то nodejs приложение
Vladimir
что именно ты под деплоить понимаешь? )
Алексей
Продублирую пожалуй сюда тоже. Я за Debianization.
Vladimir
в пакет собрать там, загрузить?
Golodnyi
что именно ты под деплоить понимаешь? )
ну это когда у тебя в проекте какой то конфиг, с доступом до сервера, с папкой проекта, а на сервер какой нить демон, вот клиент читает конфиг и передает серверу инфу, а тот такой по инструкции хуяк-хуяк и разворачивает приложение
Golodnyi
типа ansible, но более ваше
Vladimir
так на вкус и цвет у нас bamboo и шелл скрипты )
Golodnyi
Чем угодно можно деплоить.
огласите пожалуйста весь список
KlonD90
Шелл ансибл папет чеф соль фабрик
Golodnyi
ну хочется что то на node, чтоб сильно лишнего не ставить
Zaur
Шелл ансибл папет чеф соль фабрик
по русски чтобы ни кто не догадался о чем речь? )) кто в теме тому этот список бесполезен, кто не в теме - ничего не поймет.
Golodnyi
я в теме, но список не релевантен
Golodnyi
ну последние 2 тока не знаю, но видимо раз все предыдущие к ноде отношения не имеют, то и эти вряд ли
Aleksand
всем спасибо) с pm2 заработало)
Несмотря на то что заработало все же прочтите почему оно так было и как с этим жить. Дело в обработке сигнала SIGHUP, которые посылается процессу при отключении терминала. У ноды в документации явно оговорено поведение на разных платформах в его отношении. На non-Windows обычно есть утилита позволяющая игнорировать этот сигнал ( nohup ). SIGHUP is generated on Windows when the console window is closed, and on other platforms under various similar conditions, see signal(7). It can have a listener installed, however Node.js will be unconditionally terminated by Windows about 10 seconds later. On non-Windows platforms, the default behavior of SIGHUP is to terminate Node.js, but once a listener has been installed its default behavior will be removed.
Михаил Макарычев
Привет. У меня вопрос по qiwi api. Можно ли переводить деньги с одного кошелька на другой без смс-подтверждения? Или такое только через эмулятор пользователя в браузере сделать можно?
Mannaro
Товарищи, кто с монго работает? Нужна помощь по составлению индекса на такие запросы: {"isFinished":true,"link":"kjmj5fMCGjcR7tM3E","history":{"$elemMatch":{"qid":"Pd47QpXmA5Fvc3Fxy","data":{"$elemMatch":{"value":{"$in":["2r6xX63EQx7Y4oy5Q"]}}}}}}