Size: a a a

cxx.Дискуссионная

2020 April 20

RM

Roy Mustang in cxx.Дискуссионная
Просто логика схожа
источник

RM

Roy Mustang in cxx.Дискуссионная
Ofee
А на вызов функций хватит, конечно же?
Вызов функции дешевле нежели работа с корутинами в любом случае
источник

RM

Roy Mustang in cxx.Дискуссионная
Помимо вызова ты в корутинах жрешь лишний стек + еще хранить где то нужно std::function
источник

RM

Roy Mustang in cxx.Дискуссионная
А std::function нужно еще создавать каждый раз
источник

RM

Roy Mustang in cxx.Дискуссионная
потом что задачи создаются по мере поступления
источник

O

Ofee in cxx.Дискуссионная
Roy Mustang
Помимо вызова ты в корутинах жрешь лишний стек + еще хранить где то нужно std::function
А функции работают святым духом и стек не требуют?
источник

RM

Roy Mustang in cxx.Дискуссионная
К тому же, насколько легко поддерживать корутины для всех задач?
источник

O

Ofee in cxx.Дискуссионная
Roy Mustang
А std::function нужно еще создавать каждый раз
А он тут при чём?
источник

RM

Roy Mustang in cxx.Дискуссионная
Ты прекрасно знаешь что я имею в виду
источник

RM

Roy Mustang in cxx.Дискуссионная
Корутины дороже будут чем функции
источник

O

Ofee in cxx.Дискуссионная
Roy Mustang
К тому же, насколько легко поддерживать корутины для всех задач?
Короче, я не самый великий эксперт в  stackless корутинах, так что лучше ты сам пойди почитай о них, пока я тоже глупостей не написал
источник

RM

Roy Mustang in cxx.Дискуссионная
И тем более, ты с ними не отследишь состояние каждой задачи
источник

O

Ofee in cxx.Дискуссионная
Roy Mustang
Корутины дороже будут чем функции
Лямбда дороже функции?
источник

RM

Roy Mustang in cxx.Дискуссионная
Ofee
Лямбда дороже функции?
Да, потому что твоя лямбда должна быть уникальной для каждой задачи
источник

RM

Roy Mustang in cxx.Дискуссионная
Ты не можешь одну лямбду с состоянием одним на всех задачах использовать
источник

RM

Roy Mustang in cxx.Дискуссионная
Ты должен хранить состояние задач в самой задаче, а самое дешевое - это битовые поля
источник

RM

Roy Mustang in cxx.Дискуссионная
а функцию сделать общей для всех
источник

O

Ofee in cxx.Дискуссионная
Roy Mustang
Ты должен хранить состояние задач в самой задаче, а самое дешевое - это битовые поля
Сделай stackless корутину, которая хранит битовое поле и управляет задачами
источник

RM

Roy Mustang in cxx.Дискуссионная
Ofee
Сделай stackless корутину, которая хранит битовое поле и управляет задачами
Воот, в этом и сложность
источник

O

Ofee in cxx.Дискуссионная
Roy Mustang
Воот, в этом и сложность
В чём?
источник