Size: a a a

Конференция C++ Russia

2020 April 17

AZ

Alexander Zaitsev in Конференция C++ Russia
хм, а никто ещё не писал предложения по включению в стандарт стекфул корутин?
источник

VK

Vladimir Krivopalov in Конференция C++ Russia
Alexey Veselovsky
сколько? целый килобайт?
Столько, сколько отведено под величину стека. А есть ещё шанс не влезть в него при большой вложенности и получить весёлые проблемы при выполнении.
источник

AZ

Alexander Zaitsev in Конференция C++ Russia
Alexey Veselovsky
точнее - одну страницу
ты же сам знаешь ответ на свой вопрос. с такими числами в комитете считаются
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Vladimir Krivopalov
Столько, сколько отведено под величину стека. А есть ещё шанс не влезть в него при большой вложенности и получить весёлые проблемы при выполнении.
сегментированный стек же
источник

VK

Vladimir Krivopalov in Конференция C++ Russia
Alexander Zaitsev
хм, а никто ещё не писал предложения по включению в стандарт стекфул корутин?
Были; сказали - есть библиотечное решение, так что пока не будем стандартизовать.
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Vladimir Krivopalov
Были; сказали - есть библиотечное решение, так что пока не будем стандартизовать.
афигенно. предлагаю выкинуть из стандарта умные указатели. ибо есть же библиотечные решения!
источник

AZ

Alexander Zaitsev in Конференция C++ Russia
Vladimir Krivopalov
Были; сказали - есть библиотечное решение, так что пока не будем стандартизовать.
а там прям нормально проработанное решение было или что-то одностраничное в духе "го boost::coroutine2 превратим в std::coroutine"?
источник

AZ

Alexander Zaitsev in Конференция C++ Russia
но я думаю, что у людей там сейчас банально времени нет (впрочем, как и всегда, учитывая кол-во бумаг)
источник

VK

Vladimir Krivopalov in Конференция C++ Russia
Alexey Veselovsky
сегментированный стек же
В одном проекте мы их применяли и было отлично. В другом (ScyllaDB) спросил, почему их не взяли, мне мотивировали именно тем, что слишком накладно по памяти и производительности, а вложенный suspend-resume сценарием не подразумевается.
источник

VK

Vladimir Krivopalov in Конференция C++ Russia
Так что это не "мега vs. недо", это просто разные случаи. Иначе и unique_ptr<> можно назвать "недо-shared_ptr<>" 😄
источник

VK

Vladimir Krivopalov in Конференция C++ Russia
Alexey Veselovsky
афигенно. предлагаю выкинуть из стандарта умные указатели. ибо есть же библиотечные решения!
Есть мнение, что умные указатели используются в сильно большем числе случаев, чем корутины. Думаю, именно потому их и включили.
источник

*

*cyberzx in Конференция C++ Russia
Alexey Veselovsky
там не корутины эти убогие стеклесс, а нормальные горутины которые стекфулл
меня обещают же вытащить из колбек ада. я уже мечтаю как буду писать сервисы с
co_await auth_user(...)
co_await put_token_in_redis(...)
co_await select_something_from_db(...)

а тут говорят, что нифига :(
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Vladimir Krivopalov
Есть мнение, что умные указатели используются в сильно большем числе случаев, чем корутины. Думаю, именно потому их и включили.
можно посмотреть по статистике Го - сколько там умных указателей используется и сколько корутин 🙂
источник

VK

Vladimir Krivopalov in Конференция C++ Russia
Alexey Veselovsky
можно посмотреть по статистике Го - сколько там умных указателей используется и сколько корутин 🙂
Спорно, учитывая, что Go писался "чтоб было не как в С++" ))
источник

AV

Alexey Veselovsky in Конференция C++ Russia
я к тому, что используется то, что есть под рукой - если есть смартпоинтеры в стандарте и они удобны - ими будут пользоваться. если их нет - не будут.

если есть корутины в стандарте и они удобные - ими будут часто пользоваться
источник

AV

Alexey Veselovsky in Конференция C++ Russia
если их нет - мало кто будет изобретать велосипед
источник

AZ

Alexander Zaitsev in Конференция C++ Russia
так не надо изобретать же. берешь бустовые корутины и юзаешь, если они тебе нужны
источник

*

*cyberzx in Конференция C++ Russia
и тащить себе полбуста
источник

AV

Alexey Veselovsky in Конференция C++ Russia
буст в проект тащить...
источник

AV

Alexey Veselovsky in Конференция C++ Russia
на это не каждый пойдет, мягко говоря
источник