Mike Hearn wrote:
Why would anybody build without tracing anyway? I would be *very* surprised if it led to any noticable/real world performance improvement.
Because of the exact same reason NVidia doesn't want to add yet another dispatch table to linux's OpenGL libraries (as proposed by someone on the xorg ML to add support for a new fancy feature), for functions that are used heavily and are very small (like glBegin()) it decreases the performance by up to 30% for certain applications (I think it was an opengl test suite). I know the overhead of an dispatch table is bigger than a simple 'if (trace) {}', but this few (load, compare == two?) additional instruction still is noticeable in certain applications.
tom