1
info:衡量線程遷移的成本?
- 我在C/C++中編碼;
- 我有一個多線程程序,我想優化它,即減少每個函數消耗的cpu時間(通過'clock_gettime'指定'CLOCK_THREAD_CPUTIME_ID'指定);
- 我的猜測是,它可能符合我的目的,使用'pthread_setaffinity_np'將每個線程綁定到其特定的CPU,即避免線程遷移導致的成本;
- 預測測試顯示我的猜測似乎正確。
問題:
- 什麼的線程遷移的成本是多少?綁定線程到CPU真的有幫助?
- 是否有可能知道在進程執行期間發生了多少次線程遷移?如果可能的話,該怎麼做?