NVIDIA and TLS
Gareth Hughes
gareth at nvidia.com
Mon Jun 16 14:41:07 PDT 2003
On Mon, 16 Jun 2003, Andy Ritger wrote:
>
> So from an OpenGL point of view, here are several alternatives that
> I see for atleast the near term:
>
> - make NVIDIA's OpenGL implementation not thread-safe (just
> use global data rather that thread-local data)
>
> - accept the performance hit of using pthread_getspecific()
> on FreeBSD. From talking to other OpenGL engineers,
> conservative estimates of the performance impact on
> applications like viewperf range from 10% - 15%. I'd like
> to quantify that, but certainly there will be a performance
> penalty.
And these are *very* conservative estimates -- you're essentially adding a
function call into a path that is, on average, less than ten instructions
per OpenGL API call, where the number of API calls per frame is upward of 3
million (3 calls per vertex, over a million vertices for some Viewperf
benchmarks). The API was designed this way for a reason, and fast
thread-local storage is a fundamental part of a high performance
implementation.
--
Gareth Hughes (gareth at nvidia.com)
OpenGL Developer, NVIDIA Corporation
More information about the freebsd-threads
mailing list