@aleksxor
там задача проста как камень.
объяснение простое. луа недалеко от сей ушел. но с ходу умеет гораздо лучше оптимизировать то что, вообще, можно соптимизировать. гораздо лучше компилятора сей даже с -O3
Vladimir
@aleksxor
суффикс jit подразумевает что то что он там исполняет от сишного кода отличается слабо
Vladimir
так что к тому бенчмарку нужно прикладывать объяснение - как так получилось
Vladimir
без этого он ни о чем не говорит
@aleksxor
http://wiki.luajit.org/Optimizations
видимо вот это
Vladimir
И? у lua есть оптимизации - хорошо
Vladimir
у gcc тоже
@aleksxor
v8 иногда циклы до констант сворачивать умеет. luajit и подавно
Vladimir
v8 можно оставить в покое, это не самое интересное
@aleksxor
собственно, возвращаясь к началу разговора.
Vladimir
Результат на C лишь доказыет, что у автора кривые руки
Vladimir
Или он специально сделал код медленне
@aleksxor
писать алгоритмику можно замечательно и на сях и на lua. да и на js раз уж мы в нодовском чате.
но для сей багаж знаний нужен гораааздо больше чтобы сходу написать сопоставимо с lua или js по производительности. ну, или алгоритм должен быть очень примитивный
Vladimir
алгоритм будет быстрее в любом случае на C или C++
@aleksxor
при условии что его реализует сишноит с 3+ стажем )
Vladimir
Не обязательно
Vladimir
C это не так сложно
Vladimir
C++ это сложнее, но там есть нормальнве контейнеры
Алдар
И да, всем спасибо за помощь
Прикольно, делал подобную задачу на С++, уложился в 4 часа примерно. Разбивал все это дело на чанки, которые укладываются в оперативку и их сортировал квиксортом, а потом все эти чанки сливал в один мердж сортом с использованием heap.
@aleksxor
у меня другой вопрос. неужели БД, реально, медленнее это делают? хорошие индексы реализовать самому не самая простая задача так-то.
Vladimir
естественно БД делают это медленне - они строят B+-деревья и пишут на диск
@aleksxor
так при апдейтах придется делать, примерно, то же самое
Andrew
на миллионах записей мускуль нормально будет бегать
может быть на десятках миллионов
но на миллиардахъ... не думаю...
@aleksxor
если это какая-то узкая задача на один проход, то выбор средств, в принципе, неважен. за 2 часа оно отсортируется или за 5. IO, в любом случае, сожрет бОльшую часть времени. если предполагаются апдейты или выборки то смысл изобретать велосипед? все равно придется городить какие-то индексы
Dmitrii
если нода запускается в контейнере докера, то чем хэндлятся рестарты при падении и вообще мониторинг в целом, тем же pm2 или как то по другому?
Paruyr
Paruyr
Если падает контейнер, то его может твой оркестратор сам поднять
hamper 𓅝
Давно уже он умеет сервис для системд сам куда надо класть, хотя его и написать легко.
hamper 𓅝
Правда вот я на работе видел несколько случаев когда pm2 очень странным образом вис вешая дочерние процессы, из за этого от него отказались.
Vadim
На какой версии pm2 странным образом вис?
Пытались локализовать проблему?
Поднимали issue?
hamper 𓅝
Ну не на моих проектах, так что мне лень было разбираться, и нода там 4 была скорее всего если не какая нибудь 0.10, и скорее всего косяк был где то в нодовском cluster.
Vladimir
да не используйте вы кластер
hamper 𓅝
Ну там как раз pm2 в кластерном режиме использовался. А он внутри кластер использует. Хотя я на том же самом кластере свою обертку писал для запуска подпроцессов и проблем не было.
hamper 𓅝
А чем сейчас модно пользоваться вместо кластера что бы процессы на несколько десятков ядер раскидать?
Vladimir
просто запускаешь сколько нужно процессов, рулишь любым менеджером
hamper 𓅝
Через child_process?
Vladimir
нет, просто запускаешь, не важно чем
Vladimir
supervisord, docker, что угодно
hamper 𓅝
Просто когда я последний раз на ноде кластериспользовал то масте процесс там занимался распределением задач и на задачи запускал дочерние процессы, или держал запущенными и раздавал задачи через сообщения, при этом отслеживал сколько раз упал какой из дочерних процессов и по какой причине и в зависимости от этого мог или сам из перезапускать или алертить куда нибудь. Сам мастер был под supervisord запущен.
hamper 𓅝
Хотя сейчас я везде systemd пользуюсь вместо supervisord, да и на ноде уже год не писал наверное.
Anonymous
Да, жалко, что помимо Block User в Телеграме нет нечто вроде Report User.
Дима
Можно админов кастануть
Anonymous
@vkurchatkin Тут банхаммер нужен.
Таймураз
Кто работал с ТГ? Можно ли забанить пользователя, если он никогда в чате не состоял?
Denis
Используем библиотеку openCV в Node.js для распознавания лиц и решения других задач с помощью компьютерного зрения — http://amp.gs/1eMw
Anonymous
Roman
Кул
LEXASOFT
Здравствуйте. Возник вопрос по сокетам, сколько одновременно открытых сокетов может обрабатывать сервер? Использую socket.io
Anonymous
Anonymous
Там вон автор socket.io ответил.
Anonymous
А штука классная да, тоже юзаю у себя.
LEXASOFT
Просто интерисует сколько клиентов одновременно могут быть соединенных
LEXASOFT
Завтра тогда тестить буду
Anonymous
тут вот вбрасывают что асинки не нужны https://twitter.com/rvagg/status/820779301897277440
Anton
Там еще и levelDB советуют.
Evgeny
Гайз, вот у девопсов есть канал дефлопе, где скидывают новости из мира девопсов, новые утилиты, обновления и тд. Короче новости из мира. Есть такое у нас?
Дима
https://t.me/forwebdev
vitshev
Вроде этот канал точно не про девопс
Evgeny
Не, гуру крутых ников хорошую ссылку кинул, спасибо
Evgeny
Может еще кто-то знает что-то похожее, но конкретно про ноду?
vitshev
http://nodeweekly.com
Evgeny
Да рассылки понятно. Я в тг хочу
Evgeny
Нормальное там тестовое
Evgeny
Был бы я достаточно охреневшим, можно было бы распределенную команду кандидатов только на тестовых сделать.
Evgeny
Или МММ от мира опенсорса
Nikolay
Есть хороший орм для пг, которым кто-то уже пользовался?
Petro
Ребята подскажите как, и чем лучше на nodejs сделать push notifications по подпискам для android/ios. К примеру я подписался на человека и когда он выставит пост, я получу на телефон notification
Abdullo
https://firebase.google.com/docs/cloud-messaging/
Farrux
https://github.com/jlcvp/fcm-node
Славик
народ
Славик
как синхронизировать вызовы обещаний? es6
Дима
Славик
вызывать по очереди
Nikolay
Спасибо, попробую
Славик
и не говорите, что node.js не для этого
Славик
я быдлокодер и хочу быдлорешение, иначе бы я не писал на js