
Sergey
09.11.2016
13:23:42
Ну и на его базе https://github.com/scalikejdbc/scalikejdbc-async

Igor
09.11.2016
13:25:33
даже если используется синхронная БД, асинхронный IO дает буст

Mikhail
09.11.2016
13:25:35
кстати что-то вспомнилось, что и не только mysql бывает в роли mysql )) помню как запилил сервис с протоколом мускуля к собственному хранилищу, чтобы из пхп можно было стандартными драйверами пользоваться))) эх ностальжи

Igor
09.11.2016
13:25:40
лучшее враг хорошего :)

Google

Mikhail
09.11.2016
13:26:46

Борис
09.11.2016
13:27:12
даже если используется синхронная БД + пул потоков с синхронным ио + пул потокв на все остальное, даст профит, как мне кажется

Igor
09.11.2016
13:27:45


Mikhail
09.11.2016
13:33:19
даже если используется синхронная БД + пул потоков с синхронным ио + пул потокв на все остальное, даст профит, как мне кажется
это тоже немного заблуждение, по крайней мере в такой формулировке. пул потоков используется в первую очередь для поддержания постоянных соединений к источнику и менеджинг очереди на стороне клиента. и здесь есть нюанс, если ты ожидаешь свободного потока из пула в синхронном режиме - твой исполнительный поток тоже лочится. следовательно если у тебя под капотом используется executor с джобами - то он просто не выйдет у тебя из джоба и не будет обрабатывать остальные, пока ты не закончишь. и тобишь если у тебя так все твои экзекуторы войдут в ожидание - профита в скорости никакого и не будет)
это я все упростил конечно как обычно, но суть одна)
а, ну и про пулы можно упомянуть - что это для разгрузки базы)
чтобы она не пыталась лопатить хренову тучу запросов одновременно)

Борис
09.11.2016
13:34:45
эм.. чего это ему лочится?

Aleksei
09.11.2016
13:35:24
а мне кажется вопрос был про синхронизацию фьюч, бери да в форе синхронизируй =)

KrivdaTheTriewe
09.11.2016
13:35:58

Mikhail
09.11.2016
13:35:59
эм. ну ты же знаешь как пулы работают? когда ты просишь в синхронном режиме новое соединение - он ждет пока кто-нибудь освободиться и только после этого отдает тебе и лочит на это время твой поток)

KrivdaTheTriewe
09.11.2016
13:36:00
не подскажешь?

Mikhail
09.11.2016
13:36:35
не понял сути вопроса, проблема то какая?

Google

Mikhail
09.11.2016
13:37:38
"дао завернуть для стриминга" - это немного непонятно. дао - это дао, оно не говорит о синхронности-асинхронности, а стримы - это стримы - разные категории

Борис
09.11.2016
13:41:43

Mikhail
09.11.2016
13:42:34
между прочим, для синхронного пула можно вполне сделать асинк адаптер, который будет отдавать коннект в асинке. @krivdathetriewe наверное это как раз ответ на то, что ты хотел узнать. если нет возможности использовать асинк соединения
а пулы соединений ждбц - они не умеют так. они ждут, пока ты все что тебе надо не выполнишь и сколько бы у тебя времени это не заняло (если нет таймаута) и только затем, после того как ты сам скажешь, что ты все - эту дорожку отдают другому просящему


KrivdaTheTriewe
09.11.2016
13:45:31
Не, не про это, я просто не совсем понимаю как каноничней сделать выделение соединения, вот к примеру имеем
http://pastebin.com/m4YFU56m

Aleksei
09.11.2016
13:46:03
ну тройные же кавычки мать вашу
или ссылка на гист
ну йоптваю мать как в первом классе
или ссылка на пэйстбин
ну сюда то срать зачем?

KrivdaTheTriewe
09.11.2016
13:47:18
убираю

Denis
09.11.2016
13:47:33
херово тут форматирование и подсветка работают
лучше ссылку на гист

Mikhail
09.11.2016
13:53:02
@krivdathetriewe без полной задачи ничего особо не скажешь. потому что возможно, что надо поменять общий подход к решению задачки) у тебя partitionedRecords.forEach - синхронный или асинк?

KrivdaTheTriewe
09.11.2016
14:05:27


Mikhail
09.11.2016
14:10:27
если у тебя пул не в виде прокси для всех нод, а клиентскими средствами менеджится - то у тебя и так они не смогут истощить друг друга. а если ты боишься, что в рамках одной ноды у тебя какой-то поток будет забивать пул - то это напрасно, потому что выборка коннекта из пула синхронная и любой поток сможет вклиниться в очередь. просто не забывай возвращать в пул соединение после микродействия. либо делай буфер -
и только после накопления буфера бери коннект и пользуй его - так быстрее будет - у тебя же аналитика судя по коду, нет нужды по одному запросу гонять) но все как всегда от кейса зависит

KrivdaTheTriewe
09.11.2016
14:12:57
не, я батчем, я же не пидор:)

Mikhail
09.11.2016
14:13:15
пацан щитай)

Google

Mikhail
09.11.2016
14:15:59
но я такие вещи даже батчем не делаю. если упрощенно - то делаю отдельный аггрегирующий стрим и уже из него батчем - хоть в лайве, хоть delayed - самое быстрое так, если очень надо. правда и тулзы я в таких случаях другие пользую

Wystan
09.11.2016
16:27:15
Хорошие стикеры, распространил по чатам.

Alexander
09.11.2016
16:29:00
ага, один из лучших паков
tom of finland еще есть для ценителей :d

Alex
09.11.2016
16:29:24
πdr štle

Dmitry
09.11.2016
19:59:23
наконец-то нормальные стикеры

folex
09.11.2016
19:59:48
у меня их есть

Dmitry
09.11.2016
20:01:31
раз тут все равно уже скалой не пахнет
скажите, может тут кроме политологов еще и медики есть
the sublethal (TD(50)) and lethal (LD(50)) doses, which were, respectively, 55 +/- 0.35 and 750 +/- 0.40 mg/kg.
Это ведь опечатка?
саблитал 550 а не 55 ?
это важно :>
т.е. 75 а не 750
750 +/- 0.40 дазент мейк сенс.

James Tiberius Kirk ?
09.11.2016
20:05:58
если погуглить эту фразу, то везде указано 750
гуглить первым куском без цифр
офк

Dmitry
09.11.2016
20:07:38
хз как ты гуглил. в любом случае лучше ошибиться в сторону саблитал, чем вжарить 500

Denis
09.11.2016
20:09:00
LD 50 мне понятен, что такое sublethal?

Google

Denis
09.11.2016
20:09:11
типа почти отъехал?

James Tiberius Kirk ?
09.11.2016
20:09:18
хз чего ты ожидал услышать от медиков, когда даже название вещества не вкинул, для которого TD50 и LD50 смотришь
A dose containing not quite enough of a toxin or noxious substance to cause death.
ну да, почти отъехал)

Denis
09.11.2016
20:10:21
странная хрень
LD 50 - 50% подоптных умерло

Dmitry
09.11.2016
20:10:45
скорее ты прав, да.

Denis
09.11.2016
20:10:46
как мерить TD 50?

Dmitry
09.11.2016
20:10:56
100% подопытных умерло
а, стой

Denis
09.11.2016
20:11:27
TD 50 - 50 % стало хреново

James Tiberius Kirk ?
09.11.2016
20:11:31
50% подопытных подверглись токсикации организма

Denis
09.11.2016
20:11:34
тогда может и быть такая разница

Dmitry
09.11.2016
20:11:37
https://en.wikipedia.org/wiki/Median_toxic_dose

James Tiberius Kirk ?
09.11.2016
20:11:39
видимо в большой мери

Dmitry
09.11.2016
20:11:40
тут должно быть

James Tiberius Kirk ?
09.11.2016
20:11:51
ну как я и сказал

Denis
09.11.2016
20:11:55
все таки 55мг - хреново, 750 смерть

Dmitry
09.11.2016
20:12:06
может , но +/-0.40 не может повлиять на 750
не поверю :)

Google

James Tiberius Kirk ?
09.11.2016
20:12:15
я бы на месте @I_Rony придерживался доз до 55

Denis
09.11.2016
20:12:18
так это погрешность измерени

Dmitry
09.11.2016
20:12:19
749.6 еще живой, 750 все сдохли
кабумски

Denis
09.11.2016
20:12:40
типа всем давали дозу 750 +-

James Tiberius Kirk ?
09.11.2016
20:12:52

Dmitry
09.11.2016
20:12:57
the median toxic dose (TD50) of a drug or toxin is the dose at which toxicity occurs in 50% of cases.
вообще мне надо делить а не умножать
но не важно :)

Denis
09.11.2016
20:13:33
ну между токсичностью и смерть большой гэп
так что нормальные цифры

James Tiberius Kirk ?
09.11.2016
20:14:47
по моему опыту так с кислотами всякими. Любая кислота проявляет свою токсичность от капли на марки, а для сметельного исхода надо влепить грамм 50 внутрь

Dmitry
09.11.2016
20:14:56
грамм? :)
там микрограммами меряется