@dlangru

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

Ievgenii
07.01.2018
11:28:16
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
Не часто тебе, в моих реалиях - часто
пример пожалуйста, а то я что-то не могу представить, когда нужно дождаться любого из потоков, и все равно какого

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

Google
Ievgenii
07.01.2018
11:32:17
пример пожалуйста, а то я что-то не могу представить, когда нужно дождаться любого из потоков, и все равно какого
Логирование. У тебя 3 драйвера! Один в файл, другой в кибану, 3й в сислог. Это как пример

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
не к трём а к одной

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
а существуют ли тулзы для бенчарков event loop, асинхронности и вот этого всего? что-бы можно было пустить 10000 клиентов на эхо сервер, на веб и т.д. ?
Не знаю. Я как-то сравнивал Go c его горутинами и Vibe.d с его тасками. Результат был немного предсказуем и не в пользу Vibe.d

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

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

не хочется писать если есть готовые

Evgeny
07.01.2018
11:48:46
“сравнивал” с помощью самодельного клиента?
зачем самодельного, это был то-ли siege то ли ab

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
*рукалицо* В ядре вайба на базе libevent. Если что вайб поддерживает несколько ядер с разными базами внутри.
Но либевент ничего не имеет к этим таскам. Это чисто как вайб работает с ним. В этой части и будет проблема

А не в либевенте

И перечитай, как ты написал: 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
Это ты уже сам домыслил. Полагаю Igor меня понял.
Да нет, прочел так, как ты написал. Не домысливал

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
Нет это была беседа с Igor
Все равно, ты забавный

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
Чужой код никогда не нравится )

Страница 371 из 719