
Aleksey
29.04.2017
11:13:27
Хотя нет. Int это 2 гига.

Nick
29.04.2017
11:13:28
ну если ток ты не шипилев
Aleksey в твоем случае есть смысл избавится от gc, как примеру сделал это netty

Google

Nick
29.04.2017
11:15:34
чтоб не было пауз

Aleksey
29.04.2017
11:15:52
Мне и так понятно как избавляться от gc. Вопрос только в том где хранить байты. Это должен быть либо обычный байтбуфер, либо direct.

Aleksei
29.04.2017
11:16:17
Ты прямо очень влюблён в нетти, постоянно про него пишешь, как будто сначала был нетти, а только потом хранимки на постгрессе

Nick
29.04.2017
11:16:33
от gc никак не избавиться, но тебе можно будет юзать какой-нибуль parallelgc сборщик, и делать сборки редко

Aleksey
29.04.2017
11:17:04

Kirill
29.04.2017
11:17:09
опять же смотря что больше надо - меньше напряга для gc или меньше затраты времени на выделение в куче

Nick
29.04.2017
11:17:22
это сынок фантастика)

Aleksey
29.04.2017
11:18:18

Nick
29.04.2017
11:18:23
кстати почему никто не спросил, почему я посоветовал pargc

Aleksei
29.04.2017
11:18:47
Потому что ты любишь давать советы о которых никто не просил

Nick
29.04.2017
11:19:15
я советы не давал, я лишь спросил, почему Алексей решил делать байт буферы

Aleksei
29.04.2017
11:19:23
@gurinderu кстати, я не сноб, но вот тебе http://tsya.ru

Google

Kirill
29.04.2017
11:19:23

Nick
29.04.2017
11:19:51

Aleksey
29.04.2017
11:19:52

Kirill
29.04.2017
11:20:28

Nick
29.04.2017
11:20:35
тогда эт имеет смысл

Kirill
29.04.2017
11:20:43

Nick
29.04.2017
11:21:08
доклады Шипилева?
ну про мутаторы я и без него знал) ну да ладно, все равно они полезные

Aleksei
29.04.2017
11:21:57
@gurinderu у меня отличный учитель

Nick
29.04.2017
11:22:34
@fomkin но мне кажется эт будет очень сложным решением

Kirill
29.04.2017
11:22:38
токсичненько

Aleksei
29.04.2017
11:22:42
Сорвалось дол

Aleksey
29.04.2017
11:22:51

Nick
29.04.2017
11:24:01

Kirill
29.04.2017
11:24:37

Aleksey
29.04.2017
11:24:41

Nick
29.04.2017
11:25:11
ну дык вот и ответ, malloc не такой быстрый

Google

Aleksey
29.04.2017
11:25:32

Nick
29.04.2017
11:25:40
правда эт на put и get не должно влиять

Aleksey
29.04.2017
11:25:43

Kirill
29.04.2017
11:25:53
ну типо нативные вызовы, оверхед и всё такое, вопрос будет ли этот оверхед большим по сравнению с затратами ресурсов на gc

Nick
29.04.2017
11:26:01

Aleksey
29.04.2017
11:27:05

Nick
29.04.2017
11:27:26
в общем над глянуть код

Kirill
29.04.2017
11:27:29

Nick
29.04.2017
11:27:36
возможно там какие т проверки есть

Kirill
29.04.2017
11:28:17
В общем, @fomkin тебе нужно оба варианта попробовать, на самом деле замена одного на другое - процесс нехитрый же

Nick
29.04.2017
11:28:36
direct то тож проверки разные делает

Aleksey
29.04.2017
11:28:36

Aleksey
29.04.2017
11:29:41

Kirill
29.04.2017
11:29:48
да тут чё рассуждать, на самом деле, заменой по сорцам allocate на allocateDirect и всё, другой способ пробовать ) главное бенчи нормальные на это дело

Nick
29.04.2017
11:29:55
да нет там никакого оверхеда
запустите плиз бенчмарк на линуксе

Kirill
29.04.2017
11:30:19
все же дома сидят, какой линукс

Nick
29.04.2017
11:30:27
@fomkin как вариант можно unsafe.get без проверок делать

Aleksey
29.04.2017
11:30:56

Nick
29.04.2017
11:31:09
@fomkin запусти бенч на линуксе

Google

Nick
29.04.2017
11:31:15
сдается мне, эт маковская фишка

Kirill
29.04.2017
11:32:07

Nick
29.04.2017
11:32:49
ну direct тож unsafe юзает)

Kirill
29.04.2017
11:33:08

Aleksey
29.04.2017
11:33:23
ну direct тож unsafe юзает)
Когда его уберут, он будет юзать что-нибудь другое. На то это приватное API. Его просто заменят на более приватное.

Nick
29.04.2017
11:33:26
да никуда unsafe не денется
пока не парьтесь

Arthur
29.04.2017
11:33:39
честно честно?)

Admin
ERROR: S client not available

Kirill
29.04.2017
11:33:43
он же в 9 уже с ключом только

Aleksey
29.04.2017
11:33:48

Nick
29.04.2017
11:34:00
@fomkin возможно

Vadim
29.04.2017
11:34:06
@fomkin а я все ще сомневаюсь, что ты правильно проблему идентифицировал. у тебя объекты маленькие и хранить их за пределами хипа тебе же накладнее будет.

Nick
29.04.2017
11:34:32
Vadim дерево то не маленький обьект

Aleksey
29.04.2017
11:34:38
Вот тут картина совершенно другаяю https://www.javacodegeeks.com/2013/08/which-memory-is-faster-heap-or-bytebuffer-or-direct.html

Nick
29.04.2017
11:34:47
@fomkin там и год другой

Kirill
29.04.2017
11:35:13
"Java is becoming new C/C++ "

Aleksey
29.04.2017
11:35:29

Nick
29.04.2017
11:36:14
Aleksey тем не менее у тебя будут убиваться ноды в дереве в оффхипе?
или ты их просто перезаписывать будешь?

Google

Kirill
29.04.2017
11:36:44

Nick
29.04.2017
11:37:09
а еще момент интересен, а если дерево с другого треда решат посмотреть?

Aleksey
29.04.2017
11:37:45

Nick
29.04.2017
11:38:34
@fomkin я пока не понимаю, что ты сделать хочешь)

Aleksey
29.04.2017
11:40:19
@fomkin я пока не понимаю, что ты сделать хочешь)
Есть RenderContext https://github.com/fomkin/levsha/blob/master/src/main/scala/levsha/TemplateContext.scala#L17. У него есть текстовая версия https://github.com/fomkin/levsha/blob/master/src/main/scala/levsha/TemplateContext.scala#L26 и будет версия которая пишет в буфер опкоды. Потом я в цикле по этим опкодам прохожусь и получаю ченьджсет.

Nick
29.04.2017
11:43:48
хм
да, диф искать будет фаном)

Aleksey
29.04.2017
11:52:30

Nick
29.04.2017
11:53:36
я вижу сложность использования for
для большого дерева
хотя если есть offset то может быть норм

Aleksey
29.04.2017
11:55:44

Kirill
29.04.2017
11:58:48
вот вам и ФП :)

Nick
29.04.2017
12:00:33

Bernal
29.04.2017
15:31:11
/stat@combot

Combot
29.04.2017
15:31:11
combot.org/chat/-1001034178083
combot.org/chat/-1001034178083

Pavel
29.04.2017
21:28:09
вопрос, а какой клиент обычно юзают для работы с кафкой? Или все сами оборачивают java либу?
я что-то не могу догнать