shlwapi: optimise path functions

Andrew de Quincey adq_dvb at
Mon Dec 1 03:32:41 CST 2003

> In other words, I don't think the patch is acceptable. What I'd suggest:
>   -- figure out why the real CharNextA() is slow, and try to fix that
>   -- figure out why it takes so long to call CharNextW()

As I said originally, its not that CharNextW/CharNextA are particularly slow, 
its the number of times they're called. Obviously calling a function to do a 
simple string increment is going to be slower.

CharNextW takes on average 168.5340us. However it is called 12396 times when 
opening the save box for IDA. As I said, IDA supplies quite a large string of 
filter expressions to the save box. This results in a total time of 
2089146.9655us being spent in the CharNextW function.

I will move CharNextW to be a static function of that file to see if its some 
weirdness with external functions in WINE, or if its just calling a function 
in general. 

More information about the wine-devel mailing list