Size: a a a

2021 February 24

o

olologin in pro.cxx
не уверен что в этом предложении для С++ есть это, но я не пробовал, думаю надо попробовать
источник

AP

Antony Polukhin in pro.cxx
olologin
В джавовском пуле есть одна интересная особенность - там таски создавшие сабтаски могут не тупо стоять и ждать завершения сабтасков в join(), а помочь пулу при вызове join
Хм... прям заинтриговали, сейчас посмотрим на внутренности. Если нет такого - заведём багу
источник

o

olologin in pro.cxx
@antoshkka Вот в этом видео хорошо обьяснен алгоритм работы, я сам не джавист но искал что-то подобное для решения проблемы. По таймкоду обьясняется как работает join().

https://youtu.be/_2ciDWeeXJQ?t=1140
источник

o

olologin in pro.cxx
Вообще конечно ещё вопрос в том а нужна ли такая сложная логика если можно просто заспавнить новый тредпул на втором уровне параллелизации для сабтасков и положиться на планировщик ОС.
Но тут сразу возникает вопрос - тредпул на сколько потоков создавать? Мы ведь не можем определить достоверно сколько потоков на первом уровне будут нагружены работой.
источник

AP

Antony Polukhin in pro.cxx
olologin
@antoshkka Вот в этом видео хорошо обьяснен алгоритм работы, я сам не джавист но искал что-то подобное для решения проблемы. По таймкоду обьясняется как работает join().

https://youtu.be/_2ciDWeeXJQ?t=1140
Спасибо, схоронил, поисследую
источник
2021 February 25

F

FailsBot in pro.cxx
¯\_(ツ)_/¯
источник

D

Danya in pro.cxx
olologin
Ну на работе есть масса задач в которой таски имеют непредсказуемую сложность, и есть ситуации когда из тасков можно выделить сабтаски.
Так как на первом уровне параллелизации таски могут иметь сильно разное время выполнения - много ситуаций когда весь алгоритм ждёт завершения одного медленного таска (при 8 потоках например). В такой ситуации можно было бы из этого длинного таска наделать новых сабтасков чтоб ждущие треды в пуле помогли.
источник

SS

Stolas Serpentem Vec... in pro.cxx
корутины уже появились в компиляторах? а то мой силанг посылает нахрен и пайплайны тоже
источник

EP

Egor Pugin in pro.cxx
Stolas Serpentem Vectem 🏴‍☠️
корутины уже появились в компиляторах? а то мой силанг посылает нахрен и пайплайны тоже
в мсвц есть, гцц в транке (10 не помню), шланг хз
источник

SS

Stolas Serpentem Vec... in pro.cxx
обидно, но попробую
источник

SS

Stolas Serpentem Vec... in pro.cxx
опять мсвц
источник

AE

Alexander E. in pro.cxx
а что обидного-то? на Clang на своем сайте про С++20 пишет тонко - Coroutines - Partial. Вы хотите сказать, что под ваши варианты использования не подходит, или что вообще никак?
источник

A

Alex in pro.cxx
какие там корутины, несчастного std::source_location нет)
источник

AE

Alexander E. in pro.cxx
а какая связь-то у source_location с корутинами? (А давай решать уже решенную задачу - типа C preprocessor , но только еще там подкрутим, потому что нельзя не инновировать)
источник

A

Alex in pro.cxx
Связь, с моей т. з., такая, что location-то попроще реализовать, казалось бы. Это пример, что рано ещё на С++20 переходить, в одних компиляторах одно не работает, в других другое, пока все поддержат - уже С++23 будем обсуждать.
источник

A

Alex in pro.cxx
Удручает такое. Сначала 3 года жди, пока фичу утвердят, потом ещё год-полтора, пока её можно будет юзать.
источник

AE

Alexander E. in pro.cxx
Alex
Связь, с моей т. з., такая, что location-то попроще реализовать, казалось бы. Это пример, что рано ещё на С++20 переходить, в одних компиляторах одно не работает, в других другое, пока все поддержат - уже С++23 будем обсуждать.
да всегда такое было. Еще С++11 - условно у тебя std::thread появился в gcc/clang/msvc, но вот только внутри потока static инициализация потокобезопасная по-разному ими была поддержана и получалось, что в зависимости от кода тебе заходит std::thread или нет
источник

AE

Alexander E. in pro.cxx
я бы вообще std::source_location последним реализовывал. потому что этот функционал уже сегодня может клиент через С-макросню получить и передавать как строчки
источник

A

Alex in pro.cxx
Насколько я помню, как раз из 11 многие фичи под флагом 0х работали ещё до принятия, и прилично до. Но нельзя так сравнивать, это был первый из "новых" стандартов.
источник

A

Alex in pro.cxx
да я и хочу макросню выпилить, блин!
источник