0
最好是否可以使用某個功能屬性來禁用某個功能的配置文件?我想這樣做是因爲我需要描述在程序的多線程部分中花費的時間。我不關心特定線程的細節,只是在整個批處理中花費的時間。禁用某些功能及其所有後代的配置文件
Timegraph:
+--------------------------------+
+--------------------------------+
---Main thread----+ Main thread waits for workers +----Main thread continues-----
+--------------------------------+
+--------------------------------+
t0 t1
我想配置文件輸出正確測量T1-T0,並調用批處理的數量,但mcount
不是線程安全的,因此,在並行運行的東西必須排除不知何故。
由於物理總線速度是主要問題,因此Valgrind不會去。
即使gprof允許這樣做,它也不起作用,因爲gprof不會在等待線程中進行採樣。 OTOH,你可以在GDB下運行整個事情,並使用Ctrl-C和* bt *手動獲取堆棧樣本。這是[*這種技術*](http://stackoverflow.com/a/378024/23771)。顯示主線程等待工人的部分樣本是您想要的時間部分。爲了獲得通話的次數,你可以在代碼中添加一個計數器。 –