Ответ 1
Вы всегда можете использовать time.h
. Его друг при тестировании производительности и ничего больше не доступен.
Я делаю библиотеку, которая широко использует локальную переменную потока. Можете ли вы указать на некоторые тесты, которые проверяют возможности различных способов получения локальных переменных потока в С++:
Отличается ли С++ 0x thread_local намного лучше на компиляторах, предоставляющих его?
Вы всегда можете использовать time.h
. Его друг при тестировании производительности и ничего больше не доступен.
Обычно они реализуются как простое смещение в массиве в потоке частной памяти. Таким образом, доступ к переменной потока X
, типа T
,
T y = X;
грубо переводит,
T y = *(T*)(cur_thread.local_tbl[key_X]);
что слишком просто, чтобы ожидать широкого изменения производительности между реализациями. Тем не менее, если вы найдете какие-то такие тесты, пожалуйста, проследите здесь.