info:Измерять стоимость миграции потоков?
- Я кодирую в C/C++;
- У меня есть многопоточная программа, и я хочу ее оптимизировать, т. Е. Уменьшить время процессора (рассчитанное «clock_gettime» с указанным «CLOCK_THREAD_CPUTIME_ID»), потребляемое каждой функцией;
- Мое предположение заключается в том, что оно может соответствовать моей цели, используя «pthread_setaffinity_np», чтобы привязать каждый поток к его конкретному процессору, т. Е. Избежать затрат, связанных с миграцией потоков;
- предварительный тест показывает, что моя догадка кажется правильной.
вопросы:
- что стоимость миграции потоков? является обязательной нитью для CPU, действительно полезной?
- Можно ли узнать, сколько раз произошла миграция потоков во время выполнения процесса? если возможно, как это сделать?