Dmitry
это чистая математика, один запрос к БД будет дольше )
Anonymous
на бд можно перенести часть вычислений и пушинг этого на клиенты в случае с rethinkdb
Anonymous
Ыы. Хватит думать о бд только как о сторейдже данных. Это давно уже не так.
Anonymous
если что-то не влезает в возможности бд - надо писать нативный модуль
Anonymous
если что-то не влезает в возможности бд - надо писать нативный модуль
собственно это можно сделать даже на го, только поебаться придется
Dmitry
А приведете хоть один пример игры, которая была написана с использованием этой БД? Одно дело туда данные в реалтайме инсертить
Dmitry
Что-то мне подсказывает что это не тот кейс. И вообще речь шла о скорости JS изначально
Anonymous
nodecraft.com
Anonymous
любое вычисление на жс блокирует ивентлуп
Anonymous
одно вычисление в один момент
Dmitry
а где там по ссылке RethinkDB?
Anonymous
а где там по ссылке RethinkDB?
https://nodecraft.com/blog/dev/building-better-node-js-apps-with-rethinkdb
Anonymous
Web Workers
вебворкеры это в браузерах, в ноде есть cluster, но он форкает процессы просто
Dmitry
Ну так они используют БД для хранения профилей пользователей, а не для рассчета коллизий игроков в бою
Anonymous
тоже надо конечно использовать
Dmitry
Я просто к слову сказал, что есть два игровых сервера, один на го, второй на ноде.. Го на порядок быстрее.. Разговор о сокрости шел )
Anonymous
так я объяснил почему на го получилось быстрее, а на ноде медленнее
Anonymous
потому что вы юзали ноду не так, как ее надо юзать
Dmitry
Так как бы я в курсе почему на го быстрее, я собственно потому второй движок на него и перевел.
Anonymous
Он только по одноиу хештету работает.
Anonymous
Можно хештег написать, а после появления отредактировать добавив комментарий
hlomzik
Есть какой-то красивый способ слить два массива — ключей и значений? При этом получить простой объект, а не Map?
hlomzik
[['a', 5], ['b', 8]].reduce((obj, [f, v]) => Object.assign(obj, { [f]: v }), {})
hlomzik
при этом есть обратное new Map(Object.entries(obj)), что красиво
hlomzik
хотя да, мне просто нужен lodash
Anonymous
Я вообще не понимаю людей пишуших на расте, он же по синтаксису хуже чем C++ с его шаблонами и по производительности
Anonymous
memory-safe зато
Oleg
Я хочу сам управлять памятью
Oleg
Возможно это избыточно, возможно и нет
Anonymous
науправляются памятью, а потом хертблидят
Oleg
В этом есть и минусы, да
Anonymous
memory-safe зато
Ну используй какой нибудь smart pointer
Ilia
Если это бот для личного использования то почему бы и нет кстати
Anonymous
это серьезный минус, поэтому в расте управлять памятью можно только в unsafe блоках
Anonymous
когда весь мир будет писать на memory-safe языках, это будет намного более лучший мир
hlomzik
Если это бот для личного использования то почему бы и нет кстати
неважно. если это мой дом, то могу и костылей налепить, а потом все рухнет? ну а чо, дом-то мой
Anonymous
memory safe добавляют тормозов
Anonymous
лучше тормоза, чем хертблиды
hlomzik
Если это бот для личного использования то почему бы и нет кстати
как раз должно быть привычкой писать хорошо, ОСОБЕННО когда это не контролируемый кем-то код
Vlad
memory safe добавляют тормозов
это проблема компиляторов
Anonymous
лучше тормоза, чем хертблиды
Я бы не хотел пользоваться тормозной операционной системой
Vlad
в хай-лвл языках не должно быть работы с памятью
Anonymous
а системой с тысячами уязвимостей из-за ошибок в работе с памятью?
Roman
https://habrahabr.ru/post/281879/
взял из того бенча regex-dna и nbody. но regex фактически тестит встроенные в язык регекспы(читай, сишную реализацию), а вот с nbody интереснее: luajit отработал за 10 секунд, а nodejs 3 минуты жевало и так и не выдало результат
Egor
@hlomzik а если в твой дом приходят гости?
Ilia
неважно. если это мой дом, то могу и костылей налепить, а потом все рухнет? ну а чо, дом-то мой
Ну аналогия не совсем верная, конечно, возможно кто-то и будет использовать этот код помимо самого разработчика, но вполне вероятно что и нет
Anonymous
мне норм
то есть хертблиды это хорошо?
Oleg
На самом деле там не то чтобы лям строк кода, когда я допишу вряд ли будет больше 10к. Просто там адово потребление памяти ожидается аля 2Тб под завязку. А может и нет, надеюсь что нет 😄
Ilia
Ну и опять же если это личный проект то его всегда можно переписать!
Anonymous
и тысячи других печальных вещей, происходящих из-за ошибок работы с памятью
Ilia
Мы вроде обсуждали rust vs c а не стиль кода
Anonymous
то есть хертблиды это хорошо?
Из-за утечки памяти может только программа сигфолтуться, а выход за выделеную память это уже другой класс уяввимостей
hlomzik
хотя все равно забавная фраза в pro.js — "Мы вроде обсуждали rust vs c а не стиль кода"
Ilia
Как будто в растоконфе не обсуждают js
Anonymous
как будто нода не течёт )
Не знаю не использовал
Vlad
больше интересно, как ты определил что нода течёт, а не твой код или 3rd party
Anonymous
так где мы только про утечку говорили?
Почему это проблема ручного управления памятью?
Anonymous
потому что нету bounds checking?
Тогда просто нужно быть аккуратнее когда работаешь с памятью и не писать код вместо сна
Anonymous
в 90% поможет статический анализатор кода
Vlad
лол
Anonymous
как бы ты аккуратно не работал, каким бы ты специалистом не был - ошибки были везде, они переживали аудиты и все такое
Anonymous
ещё в 5% профайлер
Anonymous
и еще куча таких есть в каждом крупном продукте
Vlad
перекладывать ответственность за машинную память на человека это не выход