@ProCxx

Страница 897 из 2477
Kirill
22.05.2017
10:05:25
сокеты беркли это вид api

Google
Andrey
22.05.2017
10:06:04
нет)
Эм?)

Eiko
22.05.2017
10:06:29
читаю

Evgeniy
22.05.2017
10:06:50
Эм?)
int main(){int class = 0; return 0;}

Kirill
22.05.2017
10:07:01
под ними внутри может быть все что угодно QAbstractSocket lwip socket системный сокет сокеты из винапи Да тысячи их

Andrey
22.05.2017
10:07:33
int main(){int class = 0; return 0;}
Ну не такие извращенные варианты же)

Eiko
22.05.2017
10:08:03
ну тоесть мне придёться самому писать ооп обёртку для sys/socket.h ?

Andrey
22.05.2017
10:08:22
ну тоесть мне придёться самому писать ооп обёртку для sys/socket.h ?
Нет, скорее всего у тебя всё заработает и так.

Evgeniy
22.05.2017
10:08:28
Ну не такие извращенные варианты же)
typedef пустой больше нельзя в плюсах

тысячи их

Eiko
22.05.2017
10:08:44
Нет, скорее всего у тебя всё заработает и так.
это я понимаю, но не хочу юзать голый СИ

Andrey
22.05.2017
10:08:46
Google
Evgeniy
22.05.2017
10:09:04
А это не извращение?)
VLA тоже извращение?)

Aldar
22.05.2017
10:09:15
это я понимаю, но не хочу юзать голый СИ
если сеть нужна, можно заюзать буст асио

Eiko
22.05.2017
10:09:36
Его везде гнобят мол слишком медленный

Aldar
22.05.2017
10:10:08
Eiko
22.05.2017
10:10:13
мол никто не использует в настоящем продакшене

Если не буст асио, то что юзать?

Antony
22.05.2017
10:21:05
Его везде гнобят мол слишком медленный
При не кривых руках, растущих из правильных мест - он нисколько не медленный.

Surreal
22.05.2017
10:21:40
мол никто не использует в настоящем продакшене
В Яндексе в продакшене его юзают\юзали.

Antony
22.05.2017
10:22:17
мол никто не использует в настоящем продакшене
Много раз видел в продакшене на high load. Никто не жаловался

Eiko
22.05.2017
10:30:39
ну ладненько

спасибо

MrSmeet
22.05.2017
10:47:34
Весь код Си компилируется без изменений c++ компилятором.
Нет. C++ не надмножество си, в отличии к примеру от obj c. Традиционное int main(){ main(); }

Vova
22.05.2017
11:19:07
Ку

Дед Пегас
22.05.2017
11:46:09
Ништяк! https://blog.tartanllama.xyz/c++/2017/05/19/sycl/

Vova
22.05.2017
11:47:26
У меня есть указатель на переменную типа unsigned long, мне нужно получить каждую цифру. Как так сделать?

Александр
22.05.2017
11:47:39
#supapro

Group Butler [beta]
22.05.2017
11:47:39
#supapro
Чат supapro.cxx: https://telegram.me/joinchat/BYlFbD3eN3JMaG34hyh96w

Александр
22.05.2017
11:47:43
Evgeniy
22.05.2017
11:54:48
https://www.facebook.com/sloneus/posts/802806086537556

Antony
22.05.2017
12:12:03
https://www.facebook.com/sloneus/posts/802806086537556
Разберём каждый из плюсов С, найденных автором: 1) "экономит невероятное количество времени и сил" - использовать нативное АПИ скоетов - жуть адская... А , он использовал libev! Удачи с поиском незакрытых дескрипторов и утечками памяти. Мне лично без деструкторов жить страшно, а отлаживаться - долго. 2) "я точно знаю сколько было выделений памяти и что куда копировалось". Хм, с ASIO я это тоже знаю. ЧЯДНТ? 3) "пользоваться валгриндом/гдб стало проще на порядок". Пользоваться этими инструментами для отладки асинхронного кода - нулевое удоволствие вне зависимости от языка. 4.0) "упростился рефакторинг" - рефакторить всегда просто, когда рефакторишь свой код. Заставьте рефакторить чужой С код любого разработчика - услышите много новых ругательств, про утечки памяти и незакрытые дескрипторы. 4.1) "зависимостей остались только libc, libssl/libcrypto и libev". Используйте ASIO (без Boost) и C++11, получите такое же количество зависимостей. Ставлю под сомнение профессионализм автора поста: нет ни кода "до", ни кода "после". Просто голословные завления.

Google
Andrei
22.05.2017
13:16:15
При не кривых руках, растущих из правильных мест - он нисколько не медленный.
Однако он будет медленее чем асинхронщина на корутинах.

И в плане написания кода, тоже минусы, связанные с тем, что надо разрывать код на вызовы асио. В итоге те несколько раз, что я сталкивался с асио выглядели как стейт машина + асио. В этом плане в корутинах всё несколько понагляднее.

Andrei
22.05.2017
13:32:02
Почему?
Корутинные контексты переключаются в юзерспейсе за десятки наносекунд.

Треды переключаются за микросекунды.

Сама по себе callback-ная схема предполагает расходы на вызовы функций.

Antony
22.05.2017
13:35:47
Корутинные контексты переключаются в юзерспейсе за десятки наносекунд.
Корутины не уберут переключения ОС потоков, а лишь *добавят* еще переключения контекста корутин. От callback вы не убежите (по крайней мере пока Windows не протянет корутины пространства ядра в userspace, но этого ждать ещё ооочень долго и неизвестно получится ли в принципе)

Корутины - сахар, а не способ ускорить программу

Admin
ERROR: S client not available

Andrei
22.05.2017
13:39:35
Или я чего-то не понимаю, или виндовые файберы уже живут в userspace. Но как бы там ни было, когда у меня была задача сделать корутины в проекте, еще до выступлений Гора на эту тему, я просто написал десяток ассемблерных инструкций по сохранению и установке контекста.

Andrei
22.05.2017
13:40:22
Сделано.

Berkus
22.05.2017
13:40:41
так, а ссылка

Andrei
22.05.2017
13:42:38
Корутины не уберут переключения ОС потоков, а лишь *добавят* еще переключения контекста корутин. От callback вы не убежите (по крайней мере пока Windows не протянет корутины пространства ядра в userspace, но этого ждать ещё ооочень долго и неизвестно получится ли в принципе)
Речь идёт о том, что от программиста спрятаны все кишки диспетчеризации. Можно сделать однопоточное приложение при этом имея на каждое соединение отдельный контекст выполнения, который еще и выглядит как синхронный.

Любое другое однопоточное решение, конечно будет делать то же самое, но надо будет явно ходить в epoll\kqueue и восстанавливать какой-то стейт.

Berkus
22.05.2017
13:44:25
Сделано.
а ссылка?

Andrei
22.05.2017
13:45:04
а ссылка?
С этим сложно. Legal issues.

Berkus
22.05.2017
13:45:22
ну то есть бесполезно, когда будет в OSS - приходите еще

у вас там boost::coroutine(2) или что-то свое?

Andrei
22.05.2017
13:46:24
у вас там boost::coroutine(2) или что-то свое?
Вообще зависимостей от 3rd party нет. При этом кроссплатформа на win\linux\osx

Google
Berkus
22.05.2017
13:46:38
понял, даже видеть это не хочу

Andrei
22.05.2017
13:46:49
А зря.

Berkus
22.05.2017
13:46:55
поверь мне, не зря

Andrei
22.05.2017
13:47:52
Даже спорить не буду. Уровень конструктивности около 0.

Дед Пегас
22.05.2017
13:48:12
Legal issues, т.е. патентами обмазано?

Andrei
22.05.2017
13:48:23
Любое другое однопоточное решение, конечно будет делать то же самое, но надо будет явно ходить в epoll\kqueue и восстанавливать какой-то стейт.
Если стейт достаточно большой, то может быть дешевле переключить esp и eip, чем читать его из какой-то структуры.

Berkus
22.05.2017
13:49:10
Даже спорить не буду. Уровень конструктивности около 0.
да и не о чем - никем не протестированные кастомные корутины с кривой билдсистемой и закрытым кодом - нафиг сразу

Andrei
22.05.2017
13:50:13
Скоро откроем.

Александр
22.05.2017
13:54:31
Не в тему текущего спора: тут кидали обёртку над OpenCV, а есть ещё варианты?

С подписью zero-overhead, very simple желательно

Страница 897 из 2477