Page 1 of 1

free xp speedup (l2 cache setting) 1 .. 5%

Posted: Mon Oct 25, 2004 1:09 pm
by blueznl
it all depends on your system, but with a little tweak you can get a little more performance on xp and win2k, see here for a little more detail:

http://www.xs4all.nl/~bluez/datatalk/lowgo.htm#l2_cache

Posted: Tue Oct 26, 2004 4:17 am
by TheBeck
:roll:

CPU cache is hardware level not OS level, it doesn't matter what windows thinks it is, it is all still used.

Posted: Tue Oct 26, 2004 7:10 am
by blueznl
you are totally right, and yet i've tried it on three machines, and it worked on all three... even though even microsoft says it shouldn't work (follow the link through to the microsoft article)

Posted: Tue Oct 26, 2004 9:04 am
by TheBeck
The only thing I can think of is maybe windows does different optimizations based on how much cache it detects...

Posted: Tue Oct 26, 2004 9:38 am
by PB
> CPU cache is hardware level not OS level

Hmm, the link states: Windows XP and Windows 2000 have some troubles
detecting the CPU's L2 cache.
Changing the Registry setting forces Windows
to see it. I made the following code into an exe, and then tested it (after
booting into Safe Mode both times), with the following result:

Default Registry setting of 0 = 1800 ms (on average; 10 runs performed).
Registry setting set to 1024 = 1650 ms (on average; 10 runs performed).

So, having the setting at 1024 for the L2 cache (as opposed to the default
of 0 on my machine) has definitely sped up the code below. I know some
of you may say that a loop test is useless, but the fact remains that the
loop is sped up, so I see no harm in leaving the Registry at 1024 just in
case it somehow does help in speeding up something else. ;)

Code: Select all

start=GetTickCount_()
For r=1 To 200000000 : Next
MessageBox_(0,Str(GetTickCount_()-start),"",0)

Posted: Thu Oct 28, 2004 9:04 am
by TheBeck
PB:
It's ironic, your code only uses a few kb of cache at most, so it wouldn't matter what windows thinks it is. This just isn't logical to me. :roll: