Fork me on GitHub
#clojure-russia
<
2015-12-26
>
dottedmag07:12:43

А о чём разговор-то? Если hard-realtime, то GC-системы в ауте всегда, если только требования отклика этого hard realtime не измеряются в днях.

abtv09:12:19

@dottedmag допустим у нас есть система, которая работает терпимо, например, с 8-32 Гб памяти, скорее всего она запущена со специально подобранными ключами JVM. Есть ли какие-то гарантии, что такая система переживет рост нагрузки, когда ей потребуется 256 Гб памяти? Возможно, это будет несколько процессов JVM, но не факт, что это подойдет всякой системе.

artemyarulin10:12:38

а кстати как народ умудряется писать на жаве и минимизирует (или прям сводит на нет) - GC? На том же https://www.techempower.com/benchmarks/#section=data-r11&amp;hw=peak&amp;test=plaintext второе место занимает жавовый rapidoid и я помню читал что ему удалось достичь такой скорости за счет (в том числе) правильной работы с GC

dottedmag10:12:39

@abtv: Если hard realtime, то "терпимо" не бывает.

dottedmag10:12:50

"терпимо" бывает в случае soft realtime.

abtv10:12:29

@dottedmag там что-то среднее: приложение c JVM используют, но решили переписать все на плюсах, наверное, это hard все-таки

dottedmag10:12:26

@abtv: Главные слова: "если его нет, то данные устарели". Это hard realtime. Приложение используют, но много чего используют не по назначению :) Переписать на языке, дающем гарантии времени исполнения - это правильное решение.

prepor10:12:54

@dottedmag: судя по всему это работает при это под линуксом, который не дает никаких гарантий времени исполнения сам по себе simple_smile

abtv10:12:05

А у кого-нибудь тут есть экземпляры JVM, которые занимают больше 32 Гб хипа каждый?

dottedmag11:12:30

@prepor: Это доставляет отдельно.

andrewtropin12:12:25

Уже неоднократно поднимался вопрос про om.next. Но подниму ещё раз эту тему. Уважаемые знатоки, подскажите пожалуйста с чего лучше начать, что почитать про него, какие примеры посмотреть?

abtv14:12:19

@prepor: @dottedmag , согласен, между требованиями и реализацией есть расхождения, более того требования менялись в ходе написания проекта, под конец стало понятно, что зашли не туда, к сожалению, довольно-таки поздно. С другой стороны есть рабочий прототип, на многие грабли в бизнес-логике уже не наступишь. Тем Rust и интересен: довольно много возможностей, присущих высокоуровневым языкам, но при этом весь контроль остается. Кто-нибудь писал на нем что-то более-менее серьезное? Что можете сказать?

dottedmag14:12:18

@abtv: Я пробовал написать небольшой тул, который бы на C написал не приходя в сознание. Офонарел от типов и забросил.

abtv15:12:45

>Офонарел от типов и забросил.

abtv15:12:23

@dottedmag: там же по-идее меньше должно быть?

abtv15:12:47

вывод типов и let

dottedmag15:12:18

@abtv: От типов, а не от того, сколько букв надо писать.

abtv15:12:19

а, странно, я думал более продвинутая система типов должна облегчать жизнь, по-крайней мере в долгосрочной перспективе

abtv15:12:06

писать сложнее, но эти телодвижения помогают компилятору находить больше ошибок

abtv15:12:50

>небольшой тул, который бы на C написал не приходя в сознание

abtv15:12:16

его может быть проще на каком-нибудь Go написать

abtv15:12:37

Это мы с @artemyarulin такие упоротые по Rust что-ли? simple_smile

artemyarulin16:12:41

Го, фуфуфу simple_smile Меня раст подкупает как раз тем что я С не знаю, но в тоже время сумел написать довольно быстро небольшую тулу которая парсит хмл, чота с ним делает и отдает обратно строку. Строку потому-что все это я запускал из под ноды - была идея переписать критические куски кода которые под нодой тормозят (все лол :)) на раст и дергать его, но отложил ибо хттп раст пока умеет плохо, а из нода чота костыльно, хотя и работало

artemyarulin16:12:50

а ну и да - компилятор как раз мне не дал отстрелить себе ногу, хоть и пришлешь с ним бороться. Но написал я это в функциональном стиле, на С у меня бы вышло тока так: http://cs316730.userapi.com/v316730028/3d20/9cjWrXbwiB8.jpg

seryh16:12:25

а почему clojure не подошел для такой задачи? )

artemyarulin16:12:59

@andrewtropin: Вики самое то для начала https://github.com/omcljs/om/wiki

artemyarulin16:12:27

в конце там есть пара интересных ссылок - пара видео очень хороших ну и конечно https://github.com/awkay/om-tutorial

artemyarulin16:12:45

@seryh: А вот это в итоге и победило simple_smile Написал модуль на CLJS под ноду, а далее уже сумел уговорить что там гавно вопрос и давайте на JVM, показал цифры Netty|Aleph раптилоида этого и дали добро simple_smile

seryh16:12:12

а CLJS помог побороть тормознутость ноды? если он так же скомпилился в js и запустился под нодой

abtv16:12:41

>была идея переписать критические куски кода которые под нодой тормозят (все лол :)) на раст и дергать его, но отложил ибо хттп раст пока умеет плохо, а из нода чота костыльно, хотя и работало по-моему только так Rust и проберется в продакшн, в виде библиотек, а потом, может, люди начнут проекты переписывать

artemyarulin16:12:36

нене, тормознутость конечно нет - раст я хотел протащить именно под флагом скорости, то кложуру я уже протаскивал под флагом кроссплатформенности (сегодня нода - завтра жвм) и всякими ништяками типа репла

seryh16:12:59

можно же оставить http ноде, а всякие хитрые места делать на clojure или rust опять же, обмениваясь данными между сервисами через какой-либо pub/sub. вообщем микросервисная архитектура

seryh16:12:21

ну это если встала задача переписать что то большое

seryh16:12:49

чтоб не рубить все под корень и писать с нуля

seryh16:12:30

нода как такой себе nginx с более гибким конфигом вполне ок

virvar20:12:34

Хочу использовать kioo с reagent. В описании kioo упоминается только Om, поэтому интересно, нормально ли он работает с reagent. Кто-нибудь использует?

abtv20:12:18

Не использую, но там таки есть в описании реагент

abtv20:12:39

промотай, ниже Om

virvar21:12:51

@abtv спасибо. Да, видел, что поддерживается. Просто хотел узнать, может под реагент там свои нехорошие особенности, а то по описанию показалось, что он заточен под Om.