Some good answers to most of your question. I'll address this part-
How can we improve it?
Here is a list in increasing rough order of cost.
Finding the optimal video driver for your application, especially if you have a non-Intel graphics adapter like Matrox, Nvidia or ATi. Sometimes the optimal one is not the latest one.
Minimize autoload and system tray clutter. Remove unused drivers and applications. Clean the registry with a tool such as CCleaner. If your Windows install is more than 2 years old, consider a backup and reinstall.
Defrag your hard disk. Check your hard disk for retry errors and replace if degraded.
Having more RAM than O/S + Application can avoid swapping to disk.
If you are running Vista, upgrade to Windows 7 (speed improvements in most cases, especially boot time).
Upgrade from a 5,400 or 5,700 RPM hard disk to a 7,400 or 10,000 RPM HDD.
An SSD (Solid State Hard Disk) can improve boot time and application load time, by replacing the slowest part of the system (the hard disk) with storage with a retrieval time more in line with the rest of the system. You can still use your Hard Disk for data storage, as SSD's are merely comparable in Write Time, and may have longevity issues if written to constantly.
Upgrade the CPU to the fastest available for your given socket (may not be an option for soldered systems like some laptops).
Upgrade from a single disk to a stripped array on a caching controller such as 3Ware.
2
Unless you edit your question to specify which program in particular is slow on your computer or what are your computer specs, this question in such a general state sounds very similar to Why does hardware get slower with time?.
– Gnoupi – 2010-08-17T07:37:00.960