Можно ли использовать критерий для профилирования параллелизма между несколькими ядрами?

Я замечаю, что когда я запускаю критерий критерия (который не forkIO или же par) составлено с -O2 -rtsopts -threaded -eventlog а также +RTS -N2 -ls эта реальная работа (не только GC) распределена по обоим ядрам. Быстрый обзор источника критерия не показал, откуда возник параллелизм.

Я хотел бы сделать некоторые тщательные измерения, например, спорные обновления на MVar между двумя потоками; Могу ли я сделать это точно с критерием (например, если весь этот параллелизм происходит между тестами)?

1 ответ

Решение

Я воткнул traceEventIO до и после каждого тестируемого действия ввода-вывода, и оно выглядит полностью однопоточным на время выполнения тестового кода, так что я думаю, что должно быть хорошо.

Другие вопросы по тегам