On Saturday 10 February 2007 05:09, Andrew Burgess wrote: > >I'm stuck developing code I'm having trouble proving it helps. Normal > > users find it helps and an artificial testcase shows it helps, but that > > is not enough, since the normal users will be tainted in their opinion, > > and the artificial testcase will always be artificial. My mistake of > > developing novel code in areas that were unquantifiable has been my > > undoing. > > Could you add some statistics gathering to measure > cumulatively how long processes wait for swapin? Then you > could run with and without and maybe say "on average my > system waits 4 minutes a day without swap prefetch and 2 > minutes with? Or if a simple sum doesn't work, some sort of > graph? Then anyone could run and measure the benefit. > > Apologies if you've already thought of this... It would depend entirely on the workload / how you use your machine and the balance of ram size vs hard drive speed vs swap size. The simple test app I used attached below used on a 1GB machine with a fairly modern hard drive saved: Without: Timed portion 6272175 microseconds With: Timed portion 523623 microseconds This was with 700MB of what would be considered "application data". So if you had lots of firefox windows open, openoffice, email client etc open and then did something which caused a big swap load (I have this effect when printing an full page colour picture at high resolution), then the total time saved over clicking those applications back to life after some idle time (so you printed and walked away while it was printing) was about 5.5 seconds. So the total saved time over a day would depend on how often you hit swap, and how often you clicked things back to life. Of course if you never hit swap the code does basically nothing. Note this app is a silly little thing that only worked on 32bit if I recall correctly but here it is. build with gcc -o mallocall mallocall.c -W -Wall -lrt then test without swap prefetch enabled, and then enable it and test again. -- -ck