Anonymous
а ты в cpp можеш?
Anonymous
ясно.
Constantine
а можно корутины в трех словах?
Constantine
там добавляются три оператора, как я понимаю
Co(n)stantine👨🔬
https://en.wikipedia.org/wiki/Coroutine
Co(n)stantine👨🔬
Кстати, есть же Boost.Coroutine
Anonymous
Co(n)stantine👨🔬
обращайся)
Constantine
там больше трех слов
Co(n)stantine👨🔬
😂👍
Constantine
Igor
а можно корутины в трех словах?
если беркус прав про async/await в шарпе и если я правильно его помню:
async task<int> some_function() { yield 42; }
task<int> result = some_function();
...
int = await result;
Constantine
да это шарп
Constantine
полагаю, оператор co_await просто применяется на аргумент
Constantine
синтаксическая разница между target.co_await() и co_await target есть?
Constantine
там вообще не сахар есть? :)
Alexander "SonnySlave"
https://software.intel.com/en-us/system-studio/choose-download
Alexander "SonnySlave"
Уря!
Co(n)stantine👨🔬
что это в трех словах?))
Co(n)stantine👨🔬
для чего используешь?
Constantine
меня синтаксис интересует
Constantine
т.е. что в языке меняется
Constantine
и я не хочу перечитывать 20-страниц документа
Constantine
пропоуза
Berkus
можно взять boost.coroutine и без всякого сахара сделать то же самое
Aleksander
Локальные переменные будут принудительно в стек пихаться?
Constantine
а try <expression> будет?)
Alexander "SonnySlave"
Alexander "SonnySlave"
жди 😊
Andrei
Wind River это ОС для IoT. Интересно
Evgenii
даже небо, даже аллах
Berkus
Berkus
🐙 Antony
а try <expression> будет?)
Внезапно, люди начали это делать на корутинах:
expected<string> GetString(int index);
expected<int> SumOfSizes() {
int result = 0 ;
for (int i = 0; i < 100; ++i)
result += (co_await GetString (i)).size();
}
co_return result;
}
Co(n)stantine👨🔬
🐙 Antony
Что-то из сторонеей кодовой базы. В нём promise_type который никогда не резьюмится
🐙 Antony
* или там оператор await для него перегружен... Не суть важно :)
Andrei
В чем преимущество stackless корутин, кроме того, что у них контекст чуть быстрее переключается?
Andrei
Какая мотивация добавления их в стандарт, вместо стейтфул?
Berkus
В Европе дали смачного ёбу:
https://blog.github.com/2018-03-14-eu-proposal-upload-filters-code/
Berkus
пздц
Berkus
Andrei
Такое себе. Ну допустим.
Igor
Igor
vladislav
Andrei
Для стейтфул корутин, которые при создании берут из пула себе стеки размеры этих стеков заранее программист может ограничить. Поэтому то, что стеки надо держать — это не большой консёрн.
Ostap ꑭ
Igor
Andrei
Ерунда, это всё совсем не проблемы, а польза еще как очевидна.
vladislav
Constantine
Andrei
Польза в том, что код выглядит иначе, и самое главное есть возможность pause/resume из nested context
Ostap ꑭ
Корутины будут в С++20?
Andrei
Что приводит к тому, что весь код не надо загаживать async/await-ами
Andrei
Можно брать старый обычный неасинхронный код и ничего в нём не меняя получать асинхронный.
Maksim
Привет всем. Может кто то помочь с ffmpeg?
Andrei
Я не знаю, что имел в виду автор, я имел в виду юзерспейс файберы(в терминологии винды) или ucontext_t в терминологии линукса.
Igor
Корутины будут в С++20?
Будут. Looks like coroutines are going to happen for #Cpp20, but not this week at #CppJAX. If you have feedback on the TS, better get it to the committee soon! (https://twitter.com/AlisdairMered/status/973662578948833280)
Andrei
А, ну я Нишанову два года назад лично задавал вопрос про это, на что он с удивлением сказал, что чуть ли не впервые видит человека, который виндовые файберы в продакшне использует.
Andrei
И тут я что-то заподозрил.
Крылатый
Нет здесь никого.
Aleksander
В freertos для корутин надо писать извращенный код, в винде тоже надо сильно напрягаться?
Igor
какой настырный
Andrei
Igor
Andrei
Анаит
Кто нить пишет на qt?
Constantine