This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
А о чём разговор-то? Если hard-realtime, то GC-системы в ауте всегда, если только требования отклика этого hard realtime не измеряются в днях.
@dottedmag допустим у нас есть система, которая работает терпимо, например, с 8-32 Гб памяти, скорее всего она запущена со специально подобранными ключами JVM. Есть ли какие-то гарантии, что такая система переживет рост нагрузки, когда ей потребуется 256 Гб памяти? Возможно, это будет несколько процессов JVM, но не факт, что это подойдет всякой системе.
а кстати как народ умудряется писать на жаве и минимизирует (или прям сводит на нет) - GC? На том же https://www.techempower.com/benchmarks/#section=data-r11&hw=peak&test=plaintext второе место занимает жавовый rapidoid и я помню читал что ему удалось достичь такой скорости за счет (в том числе) правильной работы с GC
@dottedmag там что-то среднее: приложение c JVM используют, но решили переписать все на плюсах, наверное, это hard все-таки
@abtv: Главные слова: "если его нет, то данные устарели". Это hard realtime. Приложение используют, но много чего используют не по назначению :) Переписать на языке, дающем гарантии времени исполнения - это правильное решение.
@dottedmag: судя по всему это работает при это под линуксом, который не дает никаких гарантий времени исполнения сам по себе
Уже неоднократно поднимался вопрос про om.next. Но подниму ещё раз эту тему. Уважаемые знатоки, подскажите пожалуйста с чего лучше начать, что почитать про него, какие примеры посмотреть?
@prepor: @dottedmag , согласен, между требованиями и реализацией есть расхождения, более того требования менялись в ходе написания проекта, под конец стало понятно, что зашли не туда, к сожалению, довольно-таки поздно. С другой стороны есть рабочий прототип, на многие грабли в бизнес-логике уже не наступишь. Тем Rust и интересен: довольно много возможностей, присущих высокоуровневым языкам, но при этом весь контроль остается. Кто-нибудь писал на нем что-то более-менее серьезное? Что можете сказать?
@abtv: Я пробовал написать небольшой тул, который бы на C написал не приходя в сознание. Офонарел от типов и забросил.
@dottedmag: там же по-идее меньше должно быть?
а, странно, я думал более продвинутая система типов должна облегчать жизнь, по-крайней мере в долгосрочной перспективе
Это мы с @artemyarulin такие упоротые по Rust что-ли?
Го, фуфуфу Меня раст подкупает как раз тем что я С не знаю, но в тоже время сумел написать довольно быстро небольшую тулу которая парсит хмл, чота с ним делает и отдает обратно строку. Строку потому-что все это я запускал из под ноды - была идея переписать критические куски кода которые под нодой тормозят (все лол :)) на раст и дергать его, но отложил ибо хттп раст пока умеет плохо, а из нода чота костыльно, хотя и работало
а ну и да - компилятор как раз мне не дал отстрелить себе ногу, хоть и пришлешь с ним бороться. Но написал я это в функциональном стиле, на С у меня бы вышло тока так: http://cs316730.userapi.com/v316730028/3d20/9cjWrXbwiB8.jpg
@andrewtropin: Вики самое то для начала https://github.com/omcljs/om/wiki
в конце там есть пара интересных ссылок - пара видео очень хороших ну и конечно https://github.com/awkay/om-tutorial
@seryh: А вот это в итоге и победило Написал модуль на CLJS под ноду, а далее уже сумел уговорить что там гавно вопрос и давайте на JVM, показал цифры Netty|Aleph раптилоида этого и дали добро
а CLJS помог побороть тормознутость ноды? если он так же скомпилился в js и запустился под нодой
>была идея переписать критические куски кода которые под нодой тормозят (все лол :)) на раст и дергать его, но отложил ибо хттп раст пока умеет плохо, а из нода чота костыльно, хотя и работало по-моему только так Rust и проберется в продакшн, в виде библиотек, а потом, может, люди начнут проекты переписывать
нене, тормознутость конечно нет - раст я хотел протащить именно под флагом скорости, то кложуру я уже протаскивал под флагом кроссплатформенности (сегодня нода - завтра жвм) и всякими ништяками типа репла
можно же оставить http ноде, а всякие хитрые места делать на clojure или rust опять же, обмениваясь данными между сервисами через какой-либо pub/sub. вообщем микросервисная архитектура