Как получить подробные пламенные диаграммы с ящиком пламени для кода, написанного с использованием Rayon?
Я пытаюсь получить некоторые показатели производительности, используя пламенный ящик с кодом, который я написал с помощью Rayon:
extern crate flame;
flame::start("TAG-A");
//Assume vec is a Vec<i32>
vec.par_iter_mut().filter(|a| a == 1).for_each(|b| func(b));
//func(b) operates on each i32 and sends some results to a channel
flame::end("TAG-A");
//More code but unrelated
flame::dump_stdout();
Это прекрасно работает, но дает информацию только для всего параллельного итератора. Я хотел бы получить более подробные сведения о функции func
,
Я попытался добавить начало / конец в функцию, но информация времени выполнения доступна только при вызове flame::commit_thread()
и тогда, кажется, только распечатать это на стандартный вывод. В идеале я хотел бы распечатать время, проведенное без данного тега, когда я вызываю dump в конце моего кода.
Есть ли способ сбросить теги из всех потоков? Документация для пламени не велика.