abort if WINEDEBUG requests functionality that was disabled at configure time

Mike Hearn mike at plan99.net
Sun Apr 16 07:55:11 CDT 2006

On 4/16/06, Tomas Carnecky <tom at dbservice.com> wrote:
> 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.

The overhead of a dispatch table is *much* bigger - indirect jumps
can't be branch predicted on older chips, whereas a simple if (trace)
absolutely can be and modern hardware branch prediction engines are
over 90% accurate.

The GL thunks already have tracing in, yet, nobody seems to be
reporting higher framerates with tracing disabled. When things work
properly in fact most people report similar framerates to Windows. And
the GL thunks are one of the most performance sensitive regions of
Wine there are.

So, I'll say it again - can somebody prove that Wine is faster without
the tracing? I doubt it. And if there is a region where the debug
channel test slows things down we can always add manual branch
prediction hints or just take the trace out of that codepath.

thanks -mike

More information about the wine-devel mailing list