Why is my PC so slow ?
If you just loaded some new application or performed some 'update', and your PC suddenly slowed to a crawl, then the culprit is the 'last thing you installed'. To confirm, just use System Restore to go back to before the install (you always make a System Restore Point before installing something new, don't you ?). However, more likely it's just been getting slower and slower from 'day 1' (i.e. since the last time you reloaded the operating system), and you only just noticed this after using some-one else's PC which was much faster
Anti-virus applications are the cause of many unexpected 'slow downs', especially when a newly installed application first tries to 'phone home' or write into the Registry (if they are automatically blocked by your AV app. which means the app. has to 'time out' before handing back control to the user).
Older Anti-virus apps. also had a habit of grabbing 100% of your CPU (and 100% of the hard disk I/O) thus 'locking out' every other application whilst they performed a virus scan (Norton AV was notorious for this). Whilst you can switch from bloated commercial AV app's (like Norton) to lightweight Open Source (like Avast!) you just have to accept your Firewall and Anti-Virus 'overhead' as one of the drawbacks of using the Internet (and eMail).
You also need to watch out for 'application bloat'. As time goes on and your favourite application is automatically updated with many new features (and bug fixes) it's size creeps up. Ten years ago, Firefox (v1.02) was 4.6Mb, today Firefox (v37.0.1) is 39Mb - and all that extra code will use a LOT more RAM (10 years ago the developers would be running Windows XP in 512Mb with a 250Mb hard drive - now they are using 64bit Windows 8.1 in 16Gb with dual 2Tb hard drives).
Image processing applications are even worse - 10 years ago Adobe apps. would be hard pressed to edit a 10Mb photo - now they are happy to let you edit a 10Gb photo. In short, every application has a habit of expanding to fill every available byte of RAM in a 'current standard' PC, right up to the point where they start to hit limits (like 32bit Windows 2Gb app. limit = see 'Large Address Space' below) at which point they lock up or crash..
One of the worst bits of 'time-wasting software' is Windows itself. Of course you will have put a stop to many of it's useless 'services' and the notorious 'Indexing Service' (which claims to 'Index your files for faster searching' but makes minimal difference to search speeds whilst often 'hanging up' your disk access during normal running)
However Windows XP always keeps numerous records of every file you access, every application you launch and every USB device you ever plug in. Whilst some of this can be prevented (some is done by Services, such as WMI) much is done by the Kernel (and can't be stopped). Much of this data is kept in 'special' files spread around the system folders, but a lot goes into the Registry (where it contributes to 'Registry bloat').
~
This is all done 'to speed up the system'. For example, when Windows 'learns' what applications you use most frequently, the files on your hard drive can be 'moved around' to make the 'frequently used' quicker to load - and when you plug in a USB device, 'time can be saved' looking for a driver if Windows knows what driver was used for that device previously
The reality is that all this 'record keeping' simply slows down the system and (of course) time is lost checking for 'old' USB devices before looking for a new driver. Plus, of course, when Windows DOES start to 'move around' files, suddenly you can't get access to your hard drive ...
The result is that XP starts to slow down immediately after every re-install - and the longer your system has been running (since the last re-install) the slower it gets.
One of the more useless ideas MS came up with is 'pre-fetch' (and, from Vista onward, 'Super fetch'). The idea here is to 'make use of spare RAM' (i.e. any memory you are currently not using) 'to hold software you will be using soon'. In other words it monitors what apps. you use, then fills RAM with bits of those apps. based on it's 'prediction' of what you will be using 'soon'. Of course it's forever getting it wrong - and 'trying again'. So if your hard drive kicks into life every few hours frantically loading stuff into RAM, it may well be 'pre-fetch' having another go. This wears out your hard drive and consumes power - and is a real annoyance for laptop users. It makes almost no difference to the performance of your system, especially if you have a SSD.
In XP, to disable the Prefetcher, Run > Regedit, and locate 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters'. Modify (or create) the EnablePrefetcher and set it's value to 0 and the next time you start your computer, the Prefetcher component won't start. NB you can also get some disk space back by emptying the C:\windows\prefetch folder
Superfetch (Vista and later) is a Service, so can be disabled via Run > Services.msc.
Of course lots of this useless 'usage' information ends up in the Registry, where it contributes to 'Registry Bloat'
Whilst my Registry hasn't (yet) reached 2Gb, after 3 years my USB devices were taking longer and longer to be 'recognised'. A quick investigation showed that Windows was checking for one of over 140 'previously seen' devices each time I plugged a USB device in !!
Of course, if you haven't changed anything and your PC does suddenly starts to run really slow, you can assume that something has 'gone wrong'. Often it's some commercial garbage application trying to 'update' itself without telling you (and hammering your Firewall trying to 'phone home') or doing something else that's taking 100% of your CPU time (use Alt-Ctrl-Del to launch Task Manager and check).
If it's not that, then chances are your Hard Disk is on it's way out (go look in the logs at Control Panel / Administration Tools / Event viewer) i.e. that (or some other part of the hardware) is performing multiple 'retries' and 'timeouts' (often network or a USB device). On the other hand, if it's just been getting slower and slower over the last couple of years, continue below !
Note that on XP, every time your do ANYTHING that involves hard disk access, Windows will 'go away' and check ALL the attached drives - and that includes 'mapped network drives'. The problem with this is, if the networked device - for example your RAID back-up system - has 'gone to sleep' XP is quite happy to make you wait whilst it 'wakes up'. Worse, if the networked device has gone 'off line', XP will 'time out' before performing whatever operation you are waiting for. So, if it's taking 30 seconds to 'open' C: and show the directory, now you know why ....
Windows 'locks up' after boot or on opening My Computer
Windows can 'lock up' during boot-up or when you first 'open' Explorer (eg double click on 'My Computer') for minutes at a time. This is because Windows will (try to) access each and every 'mass storage device' and 'mapped' network share that you haven't 'ejected' or disconnected'. If you are using a laptop, it also tries to restore the WiFi connection during boot-up.
Of course once it's discovered that the 'share' can't be 'restored' if will 'mark' it as 'disconnected' and stop trying - however that's no consolation if you have to wait 5 minutes at boot-up because you forgot to 'disconnect' all shares before shutting down. Windows will collect information about every device before opening the 'My Computer' drive/file window. If a USB drive/network share is no longer available (eg usb stick removed, Server turned off / laptop used outside the home) Windows will typically wait 30 seconds for each single 'device' or share to time out. The same applies to WiFi - if the 'old' connection is no longer available, it will typically take 30s to time out (sometimes, it keeps on trying 'after' boot-up - in which case 'Network Connections' window will be 'empty' (i.e. even wired connections are not shown)) Note that some 3rd party Drivers or Services also 'hang' the computer looking for their 'own' device at power-in (for example, the Epson scanner driver will hang for 2-3 minutes waiting for the scanner - which it 'assumes' is attached to your USB port - to come 'on line' during boot-up and before Windows itself loads).
The following Registry fix (from Windows 7) should eliminate the 30s time-out on 'disconnected shares'
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider]
"RestoreConnection"=dword:00000000
"RestoreTimeout"=dword:00000004
"DeferConnection"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters]
"SessTimeout"=dword:0000000a
"ExtendedSessTimeout"=dword:00000000
"ReconnectTimeout"=dword:00000004
Trigger a 'cmd' script at power-down
A better way to stop 'missing' share time-outs (especially on laptops) is to disconnect all shares at power-down
Start by preparing the script (eg 'shareoff.cmd') with contents :- net use * /d /y (* means 'all drives', /d means 'delete the connection' and '/y' means 'don't ask user to press 'y' key)
To have Windows run this command file at power-off :-
Open a cmd window ('DOS box') and type 'gpedit.msc' to open the Group Policy Editor.
Navigate to Computer Configuration | Windows Settings | Scripts (Startup/Shutdown).
Select 'Properties' - 'Add' and 'Add a script'
Why does Windows keep forgetting my folder settings ?
If XP starts to forget your folder settings, delete the following registry keys :-
[HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\BagMRU] [HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\Bags]
By default, Windows XP will 'cache' the Explorer settings for 400 folders. This made sense when hard drives rarely exceeded 300Mb. In todays world of Tb drives you need to increase this drastically
In Regedit :- Find "HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam" Change the (hex) value of "BagMRU" to 1388 for 5,000 folders
If XP keeps forgetting your desktop folder settings, check the HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Program Manager\Restrictions, and look (or create) the DWORD value NoSaveSettings and set it to '0'
What's the simplest way of speeding up my PC ?
Well, by a clean re-install of the Operating System (eg using the 'Factory Restore' method), of course :-).
OK, that's just not a 'viable option' for most of us - even if we could separate our data from the XP system on C:, chances are we have forgotten where to find all those dozens of useful Open Source utilities etc. (that we can no longer live without) and even if we can find them, who wants to spends weeks re-adjusting all their 'preferences' from the re-installed defaults ??
Instead we have to disable all the useless Services, stop the auto-RUN's (especially those from rubbish applications trying to load themselves at start up and 'phone home' for unwanted updates) and otherwise get rid of as much bloat-ware as possible.
After which, the only way to speed up your system is to improve the 'Hardware' (slow downs are almost never caused by 'a fragmented hard disk', 'a virus' or an 'overloaded Registry', despite the attempts of the anti-virus and 'registry cleaning utility' vendors who try to convince you otherwise). However, before rushing off to pay $$$$ for the 'latest & greatest' Intel 'extreme' CPU, first you need to discover what's causing the 'bottleneck'.
If you are a 'gamer' then the 'bottle neck' will almost always be your Graphics card & nothing else. Trying to run games on a laptop or a computer using the motherboard 'built in graphics' is never a 'good idea' = and very few 'off the shelf' computers have decent (i.e. expensive) Graphics cards. Every new game expects the 'latest generation' graphics system - so a card that's more than 18 months old is already 'obsolete'
Use Alt-Ctrl-Del and look in the 'Performance' tab whilst using your computer 'normally'. If the CPU is 100% loaded 'most of the time' (and you are not running SETI :-) ) then you most likely have a software problem (unless your CPU is a Celeron running at 1GHz = in which case a new motherboard capable of supporting a multi-core** CPU might well help)
** you should at least have a 'dual core' CPU (this lets your application run on 1 core whilst the Windows 'kernel' runs on the other). Of course many modern applications are capable of taking advantage of multiple 'cores', so generally it's a case of 'the more (affordable) cores the better'. Windows XP Home supports 1 CPU chip whist XP Pro supports 2 chips (both XP versions are limited to a total of 32 cores = not that there are many 32 (or 16) core chips to be had :-) )
However it's much more likely that you will discover the CPU is hardly used at all ! .. but when you look at 'Physical Memory (K)', the 'Available' memory is 'low' and you have a 'PF Usage' / 'Page File Usage history' that keeps jumping up & down. This indicates that Windows is having to offload from RAM to disk and all that disk i/o - reading and writing the page file - is what's slowing you down. A high number of 'Page Faults' is a pointer to RAM limitations, so adding more RAM is usually the first thing to do
If you have plenty of free RAM, then the problem is (almost) always time-outs caused by hardware = the main culprits being your network link and your hard disk
Adding more RAM
Adding extra RAM is usually the easiest and most effective way to speed up your system (it's often the cheapest as well). Modern applications are total memory 'hogs'. Any photo (or video) application will grab all your RAM and then some - and the worst of these is Adobe Photoshop / Photoshop Elements ! So start by increasing your RAM to the maximum 32bit Windows XP can use (about 3.5GB) = so install at least 3Gb (better, 4Gb) of physical RAM.
On a 32bit system, RAM beyond 'Windows visible limit (typically 3.5Gb) can only be used as a RAM disk. However if your motherboard allows, it's worth fitting 8Gb so you can use the 'extra' 4Gb to deliver a lot more performance - either by moving '/temp' to the RAM disk or by simply placing your 'paging file' on the RAM disk (which gets you such massively high speed 'virtual memory' that it's almost as good as a 64bit system with 8Gb 'native' RAM) = see below for more details
In almost** 100% of cases, fitting more RAM is the best way to speed up your system !
**if you edit movies and playback 'stutters', check how much 'free space' you have on the hard drive used to store the movie file. If you are down to 10% or less, chances are your problem is 'fragmentation' - and this is about the only occasion when a 'defrag' might actually make a difference !
How much RAM should I fit ?
As much as your motherboard will allow. The 'slots' on most older 'DDR2' motherboards are limited to 1Gb or 2Gb 'sticks', however many had 4 slots - so you can fit 4Gb (or even 8Gb). Older laptops had only 2 slots, but most supported 2Gb sticks = so you can fit 4Gb.
Many manufacturers (Dell, in particular) never bother to 'update' their 'system specifications' when Intel releases a new CPU or when higher capacity memory devices start shipping. So if your computer was shipped before, say, 2Gb DIMM's started to become available, when you go to the Dell website to check what RAM eg. your 'Dimension 3100' supports, Dell will say '2 x 1Gb', whilst in fact, the 'real' max. is 2 x 2Gb i.e. 4Gb (I know, I'm typing this on an ancient Dell Dimension 3100 with 1x 1Gb + 1x 2Gb = 3Gb** :-) - be warned, however, that not all motherboards allow 'unequal' RAM (the older Gateway, for example, simply 'locks up' with not even a 'beep' code if it discovers 'unequal' RAM sticks 'paired' together in the 'A' (or 'B') slot pair).
** There was no point in fitting 4Gb to a Dimension 3100 - the motherboard chip-set only supports access to the first 4Gb of address space, which means any RAM 'mapped out' to make way for i/o space is 'lost forever' and the maximum real RAM you can ever access is about 3.25Gb = see below
To discover the 'real' maximum RAM supported by your motherboard, you need to discover the 'chip-set' used and then visit the manufacturers web site (usually Intel) or check the 'forums' for other owners of the same system
Much the same applies to which CPU's are supported (i.e. any CPU released after your computer started to ship is likely to be ignored - but CPU's are not as 'socket compatible' as RAM and heat sinks may be another limit = see later)
All modern motherboards support 4Gb (or larger) sticks and have chip-sets that allow software access above the 32bit Windows '4Gb limit'. Whilst fitting more than 4Gb may seem like 'overkill' for a 32bit XP system, the memory above 4Gb can be used for a RAM disk allowing high speed video edit (by placing /temp on the RAM disk) or improving general system speed (by using it as a paging file)
The motherboard BIOS also plays a part in the RAM supported - some manufacturers will deliberately limit the RAM 'seen' in order to 'differentiate' their 'low-end' product from a 'higher end' one - so just because your chip-set supports 2Gb (or 4Gb) sticks, don't assume your BIOS will let you use them !
Always remember that, in the Microsoft world, your Windows Licence will limit the amount of RAM that can be 'used', no matter how 'clever' your hardware
(+) The Windows 32bit RAM limit
(+) Getting my RAM back
(+) Using missing RAM
(+) Application RAM limits
(+) RAM disks
Where to place the swap file (pagefile.sys)
By 'default', Windows uses whatever drive has the most space for the swap file (pagefile.sys). Typically, you want it to use the FASTEST (non SSD) drive - or at least one that won't result in data transfers 'clashing' with your applications (which usually means 'any drive except C:'. Of course the 'ideal' place for a pagefile is in RAM that can't be used by Windows (i.e. in the 'invisible' RAM mapped above the 4Gb XP Licence address 'limit' and accessed by a 3rd party RAM disk driver)
WARNING - when your computer 'sleeps' it just turns off the hard drives etc. but the RAM is left powered up. However when your computer 'HIBERNATES' the system RAM contents are stored onto hard disk and the whole of the RAM is turned off !! RAM used by a RAM Disk is not seen as part of the system, so when your computer 'HIBERNATES', the RAM Disk contents - which would typically include the page-file and temp files, will be lost when the RAM is turned off during hibernation. When XP 'wakes up' it will crash as soon as it discovers it's page file has been lost (applications will likely crash when they find their temp files have been lost) !
The VSuite RAM Disk driver has a 'save contents to hard disk on power down' option ... which (should) mean it will also preserve the contents over a Hibernate (I suggest you test it before relying on it ..). If your computer won't recover from hibernate, just allow it to sleep only
The pagefile settings are 'hidden' in Start, Settings, Control Panel, System icon, Advanced tab, 'Settings' button (in Performance box), then in the Performance Options window, Advanced tab, 'Change' button (in the Virtual Memory box). Select each drive letter in turn and enter the 'Custom size' of the paging file allowed (or set 'No paging file') for that drive
Stop Windows XP wasting your time deleting the paging file at power down
For 'security'**, Windows over-writes the pagefile with 'zeros' during power-down = which is one of the many reasons why Windows often 'hangs' at power off (yes, it's trying write 4GB of 0's to the pagefile at the same time as every application being told to 'terminate' is trying to save it's status - and all this at the same time as the hard disk is told to power down)
** It's just a total waste of time letting Windows clear the paging file - any criminal that gets access to your hard drive has all they need to steal all your on-line user / password details etc. just by looking in the web browser 'saved password' file without having to dig through Gigabytes of random chunks of application code in the 'swap file'. Of course, if you use a RAM disk as your (only) paging file, the contents will vanish as soon as power is lost to the RAM anyway (not that this will stop Windows 'clearing the page file' first :-) )
To stop Windows wasting your time clearing the page file at power down, locate the Registry entry :-
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management"
and change the value of 'ClearPageFileAtShutdown' to "0"
Moving FireFox cache to RAM
This does not actually need any sort of RAM Disk driver - in FireFox, all you need to do to move your caches to RAM is to type 'about:config' in the address bar and change a few settings.
Once you get into about:config, find the 'browser.cache' settings (type into the filter bar at the top).Modify browser.cache.disk.enable and set it to 'false' (double clicking on it should flip the setting). Find browser.cache.memory.enable and set it to true, then set the 'browser.cache.memory.capacity' as follows :-Start by right clicking anywhere, click 'New' preference, and choose 'Integer' value. Name the new preference 'browser.cache.memory.capacity' and hit OK. Then type in the size (in kilobytes) to limit the cache eg. 100000 = 100,000 kilobytes (100 megabytes). A value of -1 will tell Firefox to dynamically determine the cache size depending on how much RAM you have.
The danger, of course, is that on a 32bit XP system FireFox, a 32bit applications, will be limited to 2Gb of address space. Needless to say, if you let it, it will soon be using all of that 2Gb and then it will crash.
What RAM Disk software exists ?
Don't waste your time with Microsoft's own brain dead RAMDisk.sys driver. It is only capable of accessing the same RAM as Windows itself, which makes it worse than useless (i.e. it steals RAM from the system, forcing apps. to use virtual memory). Instead you need something rather more clever. Your RAM disk driver has to access the unused memory that has been 'mapped' above the Windows 4GB Licence limit.
A1. My first choice for Windows XP is Romex Software's "VSuite Ramdisk (Free Edition)" HOWEVER it is no longer available from the Romex Software website == you will have to search for it = and watch out for the adware phishing scum (you want the VSuite.Ramdisk.Setup.zip (742 kb) package and NOT the some spam downloader .exe that many 'freeware' sites will try to fool you into installing / running).
In VSuite Ramdisk, the memory mapped to addresses above the XP limit is 'OS Invisible Memory' (or 'IM'). The big advantage of VSuite is that it can be setup to automatically write the RAM Disk contents to an 'image file' during power-down (and restore at power up) so you can still 'hibernate' (which is why it's my 'first choice').
Of course it can only access RAM above the Windows 3.5 Gb 'limit' if your motherboard has the i946 chip-set or later (which many older XP computers - especially laptops - do not).
Note also that VSuite Free Ed. only supports Windows 2000 and XP, and whilst you can set-up multiple RAM drives, it limits the sum total of RAM used to 4Gb.
The VSuite set-up instructions, can be found here (if you have 4GB RAM and VSuite shows "available IM ram = 0", your motherboard chip-set is too old)
A2. The Open Source ImDisk is another good choice - see here for how to configure it
Like all Open Source apps. it has so many options that you may never stumble across a 'set' that actually works as you hope.
A3. The commercial SuperSpeed Ramdisk Plus (was $50, now $99.95) is similar to VSuite (it calls memory above 3.25Gb 'Unmanaged' memory) and is Vista compatible
Note - before parting with any money, check CAREFULLY what RAM the product is capable of using. At least one well 'hyped' product (Dataram RAMDisk) can use physical RAM 'above' 4Gb but (apparently) is unable to use the 'invisible' RAM below 4Gb that was 'mapped out' by Windows. Note that the last version of Dataram RAMDisk that supported XP was Version V4.3.0.RC1 Released October 1, 2013, and whilst older versions supported up th 4Gb for free, the current 'free' version is limited to only 1Gb.
Needless to say, as soon as you allocate 4,000Mb of your 4Gb RAM disk to the swap file, Windows Explorer will pop-up the 'Low disk space' warning. To stop this annoying (and useless) pop-up you will need to add an entry to the Register
To disable the Low Disk Space warning in XP/Vista/Windows 7, launch "regedit" and open
HKEY_CURRENT_USER\ SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ Policies\ Explorer\
In Explorer\, create a New DWORD Value (click "Edit," select "New" and choose "DWORD Value") name :=
"NoLowDiskSpaceChecks"
Edit the value from '0' to '1'. This setting will only be activated after you next restart your computer.
Improving boot-up time
As you continue to use your computer, you will note that it takes longer and longer to 'boot up'. The MAJOR reason why this happens is that just about every software product you ever install decides it has to 'load' part of itself during the boot sequence (and MS Office is one of the worst "culprit's" in this).
For Vista and later, applications don't even have to set themselves up to pre-load - Microsoft 'SuperFetch' (and 'ReadyDoost') will do it for them !
All this pre-loading is a total disaster to your boot time - for a start it results in megabytes of un-necessary hard drive read operations, then it fills up your RAM (so that Windows is forced to 'off-load' parts of itself to Virtual Memory slowing your system down even further) and finally, after the boot has completed and you start using the system, all this pre-loaded but 'unused' code has to make room for the applications you are actually using ... in other words, all the pointlessly pre-loaded stuff just ends up being written to the Paging File back on disk
Applications 'pre-load' components for two main reasons .. one is so that when you actually come to use that application, their 'launch' time is 'faster than the opposition' ... and the other is so they can do 'background checks' for updates (which, of course, results in the boot process 'hanging' whilst dozens of 'update checkers' attempt to contact their own web sites ..)
Even Microsoft plays the 'Prefetch' game, although (in theory at least) all the windows system components being 'pre-fetched' early in the boot sequence will all actually be used later in the sequence
To put a stop to the application pre-fetch game, in a CMD widow type 'msconfig' .. then have a look in the 'Startup' tab and remove anything that's not actually vital. What's vital are your anti-virus, firewall and Registry protection (WinPatrol) software and anything you want to 'auto-start' after a power cut. What's a waste of time are all the Adobe components, all MS Office (OS9) pre-load components and everything from any other 3rd party
I have exactly 5 entries in my Start-up tab - the other 2 not mentioned above are Avast 'update check' - that's the one update check you DO want to run at boot time :-) - and a multi-media 'anti-DRM' (CD/DVD Region-free) tool
Once you have removed the pre-fetching trash from Startup, you should use the HiJackThis tool, which is easier to use when hunting for the rubbish 'update checkers' that typically appear as a 'Service' set to 'run' at power-on (msconfig's Services tab shows all services, not just those set to 'run' at power-on)
What about ReadyDrive / ReadyBoost (and SuperFetch) ?
Note that ReadyDrive and ReadyBoost are only available with Vista and above.
When USB 3 speed (5 Gbps) memory sticks started to become available, PC's gained a new high-speed data storage option 'on par' with your hard drive (SATA is 1.5Gbps, DATA II is 3Gbps and SATA III 6Gbps). Whilst real data rates depend on the actual device, memory sticks have no 'seek' delay. This means a typical USB 3.0 memory stock can 'beat' a SATA III hard drive when it comes to transferring multiple small files - especially when those files are likely scattered all over the hard drive surface.
ReadyDrive is used to hold copies of multiple small system files needed at boot time. Whilst the hard drive loads big files, the small ones are fetched from the USB memory stick. This improves Boot time because he hard drive is not slowed down wasting time 'seeking' to the small files So ReadyDrive actually speeds up boot time ReadyBoost extends ReadyDrive to application files. It thus works with SuperFetch, which was introduced with Vista to 'pre-load' commonly used applications. As with ReadyDrive, ReadyBoost holds copies of the smaller files that can be loaded at the same time as the hard drive is used for the larger ones. The problem with ReadyBoost is that Superfetch is a 'pre-fetcher' = so it tries to pre-load applications that you are not (yet) using. On the other hand, if it's using USB memory sticks, it's not hogging the hard drive. So, 'on balance', it's worth using. Vista supports 1 USB ReadyBoost, Win 7 up to 8.
The Windows XP system has no such concept (Superfetch is what makes Vista (appear) faster than XP :-) ), however you CAN place a 'swap file' on the USB memory stick
Of course your XP system motherboard likely has no USB 3 sockets - and even if it does, chances are there are no XP drivers for them. Further, whilst you might be able to buy an XP compatible USB 3.0 plug-in card, older motherboards come with PCI slots (not PCI-e). The PCI Bus limit is 1.3Gbps, whilst USB 3.0 supports 5Gbps. However you can expect a USB 3.0 memory stick plugged into a USB 3.0 PCI card will at least achieve 1.3Gbps, which is double the speed of a USB 2.0 device (plugged into the same card). Note that PCIe slots are not necessarily much faster. You will need to check your motherboard specifications. In theory, a PCIe 'x1' slot version 1.0/v1.1 supports 2.5 Gbps. PCIe 2.0 is 5 Gbps, PCIe 3.0 is 8 Gbps. In every case, actual speeds will be slower. Note that even a PCIe v3.0 card can only support a single full speed (5 Gbps) USB 3.0 device. Note also that USB 3.0 can deliver higher power to attached devices, which is not available from your motherboards PCI/-e slots. So almost all cards come with sockets for a power plug (4pin and/or SATA). Many cards - even (especially) the more expensive ones - will not work at all unless you plug in a power cable from your PC's power supply.
See also my ReadyBoost (Win7) page
For a comparison of drive V's memory stock speeds, expand the note below :-