2014-01-10 20 views
2

我注意到,當我運行一個標準基準(它沒有forkIOpar)編譯與-O2 -rtsopts -threaded -eventlog+RTS -N2 -ls真正的工作(不只是GC)分佈在兩個核心。標準來源的快速標記並未顯示並行性起源的位置。準則可以用於分析跨多個核心的併發性嗎?

我想做一些仔細的基準測量,例如,兩個線程之間的MVar有爭議的更新;我可以用準則來準確地做到這一點嗎(例如,如果所有的並行性都是在測試之間發生的話)?

+0

您可以在基準測試開始時在事件日誌中寫入通知嗎? –

+0

@JohnL好建議;我試過了,看起來標準並沒有試圖在測試代碼執行期間做任何並行操作。 – jberryman

回答

1

我在被測試的每個IO動作之前和之後插入了一個traceEventIO,它在測試代碼執行期間看起來完全是單線程的,所以我認爲我應該很好。