Они обычно реализуются как простое смещение в массиве в области личной памяти потока. Таким образом, доступ к специфичной для потока переменной X
, типа T
,
T y = X;
примерно переводится как,
T y = *(T*)(cur_thread.local_tbl[key_X]);
, что слишком просто, чтобы ожидать большого различия в производительности между реализациями. Тем не менее, если вы найдете какие-либо такие критерии, пожалуйста, следуйте здесь.