Здравствуйте, so5team, Вы писали:
S>Возможно, вы пользуетесь какой-то сторонней либой, которая берет на себя выдачу подобных стек-трейсов. Если это так, то вопросы нужно задавать по этой либе.
Я в первом же сообщении написал что использую llvm и при старте программы ставлю на обработчик сигналов выдачу трассы (там сразу готовая функция есть на это)
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Здравствуйте, T4r4sB, Вы писали:
TB>Я в первом же сообщении написал что использую llvm и при старте программы ставлю на обработчик сигналов выдачу трассы (там сразу готовая функция есть на это)
Сорри, я не понял, что под "фреймворком" подразумевался LLVM. Виноват, был невнимателен.
Может быть можно сравнить что изменилось в новых реализациях stdlib и LLVM по сравнению со старыми? Т.е. если std::async сейчас ведет себя по новому, то можно глянуть как он вел себя раньше. А уже исходя из этой разницы искать решение.
Здравствуйте, so5team, Вы писали:
S>Может быть можно сравнить что изменилось в новых реализациях stdlib и LLVM по сравнению со старыми? Т.е. если std::async сейчас ведет себя по новому, то можно глянуть как он вел себя раньше. А уже исходя из этой разницы искать решение.
Вот откатываться на прошлые версии не хотелось бы: сборка занимает пол дня
Подозреваю что llvm::ThreadPool раньше использовал std::thread, а в новой версии std::async
Велосипедить свой тредпул — это насколько адекватно?
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Здравствуйте, T4r4sB, Вы писали:
TB>Вот откатываться на прошлые версии не хотелось бы: сборка занимает пол дня
Я не про откат говорил, а про то, чтобы сравнить и уже потом искать пути решения.
TB>Подозреваю что llvm::ThreadPool раньше использовал std::thread, а в новой версии std::async