
Evgeny
07.01.2018
11:28:11
А так Я тебе любую функциональность засуну в функцию и заявлю, что оно все в одну строчку делается.

Ievgenii
07.01.2018
11:28:16

Evgeny
07.01.2018
11:28:45

Ievgenii
07.01.2018
11:28:46

Google

Ievgenii
07.01.2018
11:28:56
В вайбе его нет. А часто надо

Evgeny
07.01.2018
11:29:19

Ievgenii
07.01.2018
11:29:22
Один же поток!

Evgeny
07.01.2018
11:30:05

Ievgenii
07.01.2018
11:30:10

Evgeny
07.01.2018
11:30:17

Igor
07.01.2018
11:30:17
имхо api для таких штук должна быть многоуровневным - хочет программер ада калбэков - вперёд, хочет промисов - пожалуйста. и т.д. до синхронно-последовательного рая

Ievgenii
07.01.2018
11:30:40

Evgeny
07.01.2018
11:31:07

Ievgenii
07.01.2018
11:31:17

Evgeny
07.01.2018
11:31:22
и даже не все равно какого, а первого из них

Google

Ievgenii
07.01.2018
11:32:17

Evgeny
07.01.2018
11:33:24
либо ждем всех (не хотим переполнения очереди логов) либо никого (переполнение не грозит)

Igor
07.01.2018
11:34:50
пример - три принца ломятся к спящей красавице. Достаточно того что прорвался один. Смысл в том что событие которго ты ждешь наступает если хоть одна из задач завершилась

Evgeny
07.01.2018
11:34:50
Вот решение:
Task[] taskPool;
bool ready = false;
auto cv = new TaskCondition(new TaskMutex);
taskPool ~= runTask({
ready = true;
cv.notify();
});
taskPool ~= runTask({
ready = true;
cv.notify();
});
// ждем выполнения самого быстрого
while(!ready) cv.wait();
// продолжаем работу

Igor
07.01.2018
11:35:41
из баз данных - при уровне консистентности равному 1 ты отправляешь данные на три реплики. Тебе по условию задачи достаточно что-бы данные поучила одна реплика

Evgeny
07.01.2018
11:36:06

Igor
07.01.2018
11:36:24
не к трём а к одной

Evgeny
07.01.2018
11:36:48

Igor
07.01.2018
11:37:33
не знаю специфично или нет. просили пример

Evgeny
07.01.2018
11:37:35
В любом случае я написал решение. Возможно оно нужно и в вайбе - это достаточно простой PR
Если бы мне нужно было бы я бы сделал. Видимо именно в вайбе не нужно.

Igor
07.01.2018
11:38:56
ага, я не про вайб, я вообще как оно бывает

Evgeny
07.01.2018
11:40:55
скорее принц один :)
и пофиг к какой из принцесс он прорвался

Stepanos
07.01.2018
11:43:00
Eugene в репо гитхаба добавить сможешь? :) чтоб не потерялось

Evgeny
07.01.2018
11:44:29
Что именно?
Примеры? Их надо довести тогда до рабочего состояния с нужными импортами. А лучше в виде однофайловго проекта dub

Google

Evgeny
07.01.2018
11:45:21
к счастью dub научился таким

Igor
07.01.2018
11:45:49
а существуют ли тулзы для бенчарков event loop, асинхронности и вот этого всего? что-бы можно было пустить 10000 клиентов на эхо сервер, на веб и т.д. ?
таймеры, там много всего тестирвать нужно

Evgeny
07.01.2018
11:47:10
А так в деле параллельной обработки стотыщмульенов клиентов, полагаю, самый сильный будет Erlang

Igor
07.01.2018
11:48:03
“сравнивал” с помощью самодельного клиента?
не хочется писать если есть готовые

Evgeny
07.01.2018
11:48:46

Igor
07.01.2018
11:49:04
ага это веб

Evgeny
07.01.2018
11:49:23
я не использовал вайбовский http-сервер
чисто на вайбовских сокетах и тасках

Evgeny
07.01.2018
11:50:43
Еще я тестировал скорость создания тасков и горутин. Там было все еще печальней

Igor
07.01.2018
11:51:00
веб это уже обработка запроса. хочется само качество event loop проверять. то есть никакой обработки быть не должно. А хочется например 10000 неактивных коннектов и один активный, и в резултате получать не среднее время ответа а перцентили и т.д.

Evgeny
07.01.2018
11:51:06
Если бы Го не был бы таким уродским примитивным языком, я бы писал на нем

Igor
07.01.2018
11:51:07
то есть какая-то продуманная тулза

Evgeny
07.01.2018
11:51:30
хотя мысли были
можно тупо запускать миллион тасков, ждать допустим секунду и уничтожать

Igor
07.01.2018
11:52:42
угу, написать всё можно, только времени не хватает )

Google

Evgeny
07.01.2018
11:53:03
с созданием тасков в движке libevent плохо
в eventcore намного лучше
таймеры в вайбе - это файберы. Каждый таймер - новый файбер. Из пухи по воробьям.

Ievgenii
07.01.2018
11:54:40
Таймера?

Evgeny
07.01.2018
11:55:18
http://vibed.org/api/vibe.core.task/Task

Ievgenii
07.01.2018
11:55:42
А либевент тут причем?
Это вайбовая приблуда

Evgeny
07.01.2018
11:57:37
А либевент тут причем?
*рукалицо* В ядре вайба на базе libevent. Если что вайб поддерживает несколько ядер с разными базами внутри.

Admin
ERROR: S client not available

Evgeny
07.01.2018
11:57:58
из чисто дешных libasync и eventcore
и есть еще одна на базе libevent

Ievgenii
07.01.2018
11:58:43
А не в либевенте
И перечитай, как ты написал:
Eugene Grigoryan:
с созданием тасков в движке libevent плохо

Evgeny
07.01.2018
11:59:18
Я и не писал, что в либевенте, я писал "в движке libevent"
libevent - это либа, а я имею в виду движок вайба на libevent

Ievgenii
07.01.2018
11:59:40
Так, будто в либевенте создаются таски и там с этим плохо
Тогда хоть пиши с драйвером либевент

Evgeny
07.01.2018
12:00:17
Это ты уже сам домыслил. Полагаю Igor меня понял.

Google

Ievgenii
07.01.2018
12:00:41

Evgeny
07.01.2018
12:00:41

Ievgenii
07.01.2018
12:01:09

Evgeny
07.01.2018
12:01:21

Ievgenii
07.01.2018
12:01:46

Evgeny
07.01.2018
12:02:09

Ievgenii
07.01.2018
12:02:17
О.о
Мда...
Забавно, твое высокомерие, бро.
ВЫСОКОМЕРИЕ — ВЫСОКОМЕРИЕ, высокомерия, мн. нет, ср. (книжн.). Надменность, кичливость, гордость, презрительное отношение к другим (низшим по уму, положению). Толковый словарь Ушакова.
Выбирай, кто ты)))

Evgeny
07.01.2018
12:03:17
Ну каг бэ, ничего забавного нет. Или ты другой ориентации и так заигрываешь со мной? Ты это брось, я не имею ничего против геев, но сам натурал до мозга костей.

Ievgenii
07.01.2018
12:05:01
Если ты просто хочешь сравнить разные лупы, - то в интернете есть несколько хороших сравнений. Как-то давно находил.
А вообще - нужно исходить или из того, что стоит на акружении, или просто брать то, что больше рекомендуется автором, или активней развивается.

Evgeny
07.01.2018
12:09:45
Я вот для своей задачи выбрал elixir. Так как писать свой вайб да еще и с ручным управлением памятью - фтопку.

Igor
07.01.2018
12:13:44
Ой, я пилю евентлуп с дальним прицелом, посмотрим что получится

Evgeny
07.01.2018
12:14:23
еще один эвентлуп? в целях самообразования или готовые не нравятся?

Ievgenii
07.01.2018
12:16:18
Слушайте, а вот вопрос. В dub можно добавить свой репозиторий?
В смысле не добавлять в глобальный
А сделать локальный
Внутри фирмы там

Igor
07.01.2018
12:18:01
Чужой код никогда не нравится )