
Pavel
14.06.2018
16:30:38
Кстати да, запарился я с malloc/free писать ) Это оказалось куда сложнее чем я думал даже на простом коде

Oleg
14.06.2018
16:30:39
чтобы в процессе самой работы delegate не создавались и динамические массивы туда-сюда не изменяли размер

Pavel
14.06.2018
16:30:59
Там всякие косяки с адресами выделенных блоков и указателей на уже отработанные структуры

Google

Ievgenii
14.06.2018
16:47:36
Парни
У меня уже мозг плавится 3е сутки
Можете помочь:
Скомпильте у себя dub build
https://run.dlang.io/gist/22554a318b172cf26fdb2a67f3ee6182
Потом запустите и во второй консоле выполните что-то типа:
ab -c 1 -n 10000 127.0.0.1:8080/
У вас будут зависать запросы?
У меня как-то странно все работает
Отрабатывает пару запросов (иногда даже несколько тысяч), а после очередной запрос зависает
И зависает именно в libev-е
Я уже не знаю что делать...
Может это у меня просто криво компилится

Google

Ievgenii
14.06.2018
16:50:26
Буду очень признателен
Сейчас уже нужно убегать. Если кому-то будет не лень и он всеже сделает это - отпишитесь, я буду с телефона, но УЖАСНО интересно, что же именно там не так
Код, вроде, верно написан
Но вот не фурычит, хоть стреляй
Иначе прийдется на СтекОверфлоу идти спрашивать)))

Denis
14.06.2018
16:55:23

Ievgenii
14.06.2018
16:55:48
Я почистил
То за 3 дня столько эксперементов было, просто
Сейчас немного почистил
Пробовал кто-то?

Denis
14.06.2018
17:59:05
дык ссылку дай заново с нормальным текстом программы

Ievgenii
14.06.2018
18:09:55
Я пересохранил ту
О.о
Не
Вот https://run.dlang.io/gist/19963317ef39aa059e60f70af8126130
С телефона редачил

Denis
14.06.2018
18:34:49
не для того я С забросил чтобы на низкоуровневый C-like код смотреть в Ди

Google

Denis
14.06.2018
18:34:58
Ну что-то где-то забыл, дебажь, чо.
Никто никогда не говорил что всякую многопоточность и т.п. легко дебажить

Ievgenii
14.06.2018
18:56:18

Denis
14.06.2018
18:56:56
у меня нет программы ab
я уже напился
ночь же, завтра может

Ievgenii
14.06.2018
18:57:23
Ясно
А не рано празнуешь?) Четверг ведь только))

Dark
14.06.2018
19:02:11

Ievgenii
14.06.2018
19:02:28
А) футбол смотришь)

Ievgenii
14.06.2018
19:02:33
И кто выиграл?

Dmitry
14.06.2018
19:05:11
- Как сегодня наши сыграли?
- Проиграли. Мужчины 0:65, женщины 0:63...

Dark
14.06.2018
19:08:40

Ievgenii
14.06.2018
19:24:57
Как вариант, завтра на работе на какой-то виртуалке попробовать сбилдить и протестить, а не на рабочем компе

Dark
14.06.2018
20:30:14
А в D есть таймер? Что бы отложить выполнение функции на некоторое время, не блокируя поток

Pavel
14.06.2018
20:39:18
Нет, как ты себе это представляешь?
Можно только через другой поток либо через event loop

Dark
14.06.2018
20:41:10
Я так и думал

Google

Denis
14.06.2018
20:43:57

Dark
14.06.2018
20:44:16
Точнее, phobos

Andrey
14.06.2018
21:10:25

Ievgenii
14.06.2018
22:29:21
У меня не сразу оно зависало
Иногда виснет, иногда нет...
Я уже не знаю, на что грешить

Admin
ERROR: S client not available

Ievgenii
14.06.2018
22:30:44
Костыль, но решает твою задачу

Andrey
15.06.2018
04:22:21
Несколько раз?
несколько раз. попробую позже позапускать еще, самому интересно

Ievgenii
15.06.2018
04:31:00
Теперь я вообще в тупике.
Ты под убунтой?

Andrey
15.06.2018
04:34:01
хотя...) посмотри netstat -ntp после запуска - все твои соединения висят в time_wait. то есть сервер сделал send, данные в буфере отправки, но не ушли. может сокеты кончаются...) ладно, сейчас уже некогда, позже
под минтом, но считай да

Ievgenii
15.06.2018
04:35:01

qwerty
15.06.2018
09:51:44
Unique из std работает у кого-нибудь? https://run.dlang.io/gist/257def92584903b9d811bdd93f5c1bd8

Dark
15.06.2018
10:00:34
Он последовательные повторения убирает вроде

Google

Stanislav
15.06.2018
10:02:47
это другой unique )

Dark
15.06.2018
10:04:44
Возможно

Dmitry
15.06.2018
11:53:51

Ievgenii
15.06.2018
11:59:48
Percentage of the requests served within a certain time (ms)
50% 0
66% 0
75% 0
80% 0
90% 0
95% 1
98% 1
99% 1
100% 31279 (longest request)
Вон, парочка коннектов просто зависло
И весели 31 секунду

Dmitry
15.06.2018
12:01:06
Нет, 2-3 ms там
auto u = Unique!C(new C);

qwerty
15.06.2018
12:01:58
аа, ок
спасибо!
а кто-нибудь случайно не знает где-нибудь double linked list, который может работать с Unique?
стандартный не работает
dlist из emsi containers тоже

Ievgenii
15.06.2018
12:06:34
Но это какой-то плавающий баг
Не всегда проявляется :(

Pavel
15.06.2018
12:09:12
Я такую же интересную фигню наблюдал в vibed
По непонятным причинам из десяти тысяч запросов 1-2 зависали надолго )
Может это тоже была особенность eventloop который был драйвером для vibe.d