@dlangru

Страница 597 из 719
Denis
10.06.2018
12:21:27
но автор использовал свою реализацию АПИ зачем-то

Pavel
10.06.2018
14:00:37
Может он просто не сидит в этом чате?

Denis
10.06.2018
14:01:31
telega поиском по code.dlang.org находится

правда он DUB оже не юзает

Google
Pavel
10.06.2018
14:02:44
Там в исходнике есть inline dub

Denis
10.06.2018
14:03:02
а вижу

Ievgenii
10.06.2018
14:05:38
Значит просто захотел свою реализацию сделать

Можно таки надурить!)

SocketOption.REUSEADDR | cast(SocketOption) SO_REUSEPORT

Канает

Denis
11.06.2018
09:37:52
Ievgenii
11.06.2018
09:38:18
Где?

Denis
11.06.2018
09:38:28
Да тут выше

что-то там я писал и ещё кто-то, мол "кастануть" да и всё

Ievgenii
11.06.2018
09:40:33
Ну про кастануть я не видел

Dmitry
11.06.2018
10:30:41
Отличная статья и золотые слова: «Большие корпорации стремятся компенсировать небольшую зарплату громким именем. И в целом, это по-своему честно, имеют право. Но и кандидаты начинают относиться к этому соответственно: “Поработаю годик, наберусь опыта и свалю туда, где лучше платят”. Тоже честная, справедливая позиция. Ничего личного, только бизнес, и так делают все рациональные люди. Но почему-то именно программистам ставят в вину, что те меняют работу как перчатки, и распространяется мнение, что это плохо, что такие кандидаты ущербны в каком-нибудь смысле. Вовсе нет. Жизнь всего одна, и наш самый ценный ресурс — время. Мы имеем право продавать его так дорого, как только сочтем необходимым, хотите вы этого или нет.» https://m.habr.com/post/413819/

Dark
11.06.2018
11:13:18
Привет

Google
Kazak
11.06.2018
11:41:26
Здорова, хлопцы

Ievgenii
11.06.2018
11:48:33
Хай

Evil
11.06.2018
11:48:59
Слава Линусу!

DarkRiDDeR
11.06.2018
11:50:52
Героям слава! p.s. имеетя в виду линус ))

Dark
11.06.2018
11:52:48
Казалось бы при чем тут Украина?

DarkRiDDeR
11.06.2018
12:00:20
а причём здесь Украина? )) Такого здесь вообще нет

Ievgenii
11.06.2018
12:01:23
)))

Stepanos
11.06.2018
12:36:21
как нет?)

Ievgenii
11.06.2018
14:10:19
Посиксовский сокеты, в среднем, на 3-5% быстрее высокоуровневых сокетов

Из "std.socket"

Pavel
11.06.2018
14:28:22
:/ нехорошо это

Хотя 5% впринципе цена обертки

Так может это из-за выделения памяти при создании объекта сокета?

Ievgenii
11.06.2018
14:37:35
На посиксовских выходит 17000 в секнду

На стд, около 16500

Поразному

Иногда 16400

Иногда 16600

3-5%

Google
Ievgenii
11.06.2018
14:38:35
Это для объектах обертки

Больше неначем там просидать

Pavel
11.06.2018
14:39:05
Я думал и надеялся что все эти обертки разворачиваются и уходят во время компиляции, иначе грошь цена этой всей compile time магии

Ievgenii
11.06.2018
14:40:40
Там и адаптация интерфейса

И приведение типов

Не все так просто

Pavel
11.06.2018
14:41:39
SocketOption.REUSEADDR | cast(SocketOption) SO_REUSEPORT
А это объясняет почему есть жалобы на отсутствие такой опции но нет PR. Видимо все обходят через каст.

Ievgenii
11.06.2018
14:41:58
Ну это понятно чего нет

На винде же нет поддержки, да и не будет

Вот туда и не добавляют это

Это плата за кросплатформенность

Ievgenii
11.06.2018
14:43:11
Вот чисто под линуху пишу и имею небольшой плюс в производительности

Мизирный, но есть

Pavel
11.06.2018
14:43:44
Ievgenii
11.06.2018
14:43:55
и?

Pavel
11.06.2018
14:44:13
Можно только в linux эту опцию добавить

Ievgenii
11.06.2018
14:44:15
А что оно должно делать на винде, если ты его передаешь?

Pavel
11.06.2018
14:44:35
ну видимо ничего или warning

Там потому что это в reuseaddr включено насколько я понял

Google
Ievgenii
11.06.2018
14:51:00
Нет

Не включино

Ну ворнинг тоже выкидывать - не подход

Pavel
11.06.2018
14:55:33
Значит надо не компилироваться просто

Dark
11.06.2018
14:55:36
Условная компиляция, ветер северный

Pavel
11.06.2018
14:56:26
Да это повсеместная практика :)

Весь низкоуровневый код кишит костылями для сборки под разные платформы и даже в рамках линукса куча опций которые могут поддерживаться ядром а могут и нет

Admin
ERROR: S client not available

qwerty
12.06.2018
17:31:35
у нас какой-нибудь либы для случайных данных?

Dark
12.06.2018
17:32:16
Та, что в std не подходит?

qwerty
12.06.2018
17:32:18
типа я пишу fakeUrl и мне выдавался какой-нибудь валидный URL

qwerty
12.06.2018
17:32:37
или fakeEmail и получаю валидный email

ок

Denis
12.06.2018
17:32:55
у нас какой-нибудь либы для случайных данных?
Я делал генератор имён как-то https://code.dlang.org/packages/namegen

qwerty
12.06.2018
17:34:21
спасибо

слушайте, запускаю dub test он начинает жаловаться, что нельзя несколько main. Убираю файл с main из исходников, он начинает жаловаться, что ни одного main нет

что ему надо?

Google
Denis
12.06.2018
17:55:28
dub test вообще не требует main

покажи сообщение полностью

qwerty
12.06.2018
17:58:50
http://vpaste.net/wXJ2a

а когда делаю exclude файла с main, то получаю это http://vpaste.net/aybgJ

Ievgenii
12.06.2018
18:29:30
Кто какое IPC использует?

Не блокирующее общение потоков

Вот думаю или на пейрсокетах делать

Или что-то с сигналами выдумывать

Oleg
12.06.2018
18:55:12
Ievgenii
12.06.2018
18:55:58
Сильно жирно)))

Это уже на rpc тянет)

Но с точки зрения масштабирования - да, не плохо

Но я и так пишу шину общения, использовать в ней другую шину - выглядит забавно)))

Putch
13.06.2018
06:32:12
Если мы в code.dlamg.org в поле поиска напишем "github", то получим 500. https://code.dlang.org/search?q=github , забавно

Andrey
13.06.2018
06:37:03
Если мы в code.dlamg.org в поле поиска напишем "github", то получим 500. https://code.dlang.org/search?q=github , забавно
дык гитхаб вчера лежал какое то время. опять что то с постгрей намутили

то есть блин нет)) это гитлаб лежал

Ievgenii
13.06.2018
08:01:42
Сейчас такой баг отловил О.о

Вот такой код:

char[8192] buffer; long received; auto myIo = cast(MyIo*)clientIo.data; auto clientSock = myIo.fd; writeln(".data: ", clientIo.data, " myIo: ", myIo, " received: ", &received);

Выдает:

.data: 7F810749FB70 myIo: 7F810749FB70 received: 7F810749FB60

Все круто!

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