Dear Lifehacker, I have a few Windows programs that are very sluggish (eBay’s Turbo Lister is one, Doxie’s software is another). Task Manager shows them using only 25 per cent of the CPU, and varying amounts of memory (but nowhere near 100 per cent of what I have). If neither the CPU nor RAM is the bottle neck for these programs, what’s taking them so long to do simple tasks? And what can I do to speed them up? Thanks, Sick Of Slow
Phone picture from Shutterstock
Dear SOS,
Apps can often run poorly without hogging the CPU: contributing factors can include bad coding, the need to make frequent network calls or the use of older Windows APIs. While there’s not much you can do about any of these, the issue could also be something else which is fixable.
First off, make sure you have the most current version for each package; if you have auto software updates switched off you could be using an older version of the app. Naturally, you should also check that your own machine is patched and you have current security software.
It’s also a good idea to peruse the user forums and developer pages of any apps that are giving you grief. For example, eBay provides the following advice to help speed up Turbo Lister on its Help page:
The speed of the Turbo Lister program is dependent upon many factors, mainly the size of the database and the system resources available for the program to run on. We recommend that members delete the contents of the Activity Log and compact their database. We have found that this will improve the overall performance of Turbo Lister for most users.
If all else fails, contact the developers directly and express your concerns: many will be more than happy to help.
Cheers
Lifehacker
Got your own question you want to put to Lifehacker? Send it using our contact tab on the right.
Comments
8 responses to “Ask LH: Why Are My Apps Running So Slowly?”
The CPU *is* the bottleneck here, but it’s actually the *program’s* fault…
I would hazard a guess that you have a quad-core processor, and the program is written in such a way (single-threaded) that it can only use one core – hence, it’s maxing out at 25% of CPU usage. If the program was written to use multiple cores (multi-threaded), then it could be up to 4 times faster.
Multi-core processors are great, but the extra potential performance doesn’t come for free… Programs have to be written specifically to use the extra cores.
I don’t think something like ebay Turbo Lister is going to benefit much from utilising multiple cores. Neither would the Doxie software (which I’m assuming is the software that comes with Doxie scanners). These small applications shouldn’t need to consume so much CPU, so it’s probably just sloppy coding.
There’s not really much point in putting in the time and effort to make things multi threaded if there’s no real benefit from doing so.
Ordinarily I would probably agree that it was just sloppy coding, but a number like 25% (or 50% on a dual-core machine) seems very coincidental.
It would be interesting to see if anyone has run either of these programs on a dual-core machine – do they seem to max out at 50% instead of 25%?
It could still come down to sloppy programming though… If, for example, the scanning program is sitting in a busy-loop polling the scanner for data (rather than responding to interrupts/events), it would max out the core it was running on.
It’s almost certainly not CPU for these apps. It’s almost certainly bad coding. If we knew the disk was thrashing, it might point to insufficient RAM.
Even before we had core duo CPUs, it was common to see slow tasks using less than 25% CPU.
I’d wager bad code or more RAM if disk thrashes.
Any program that does a large amount of sorting can easily benefit from multi-cores. It’s up to the devs to make it happen.
Apparently you’ve never written multi-threaded code, or your definition of “easily” is wildly different to that of people who actually write code.
While the 25% is very suspicions of maxing out a single thread/core of a quad-core (Or dual core hyper-thread) everyone also seems to be forgetting the disk IO.
I’ve noticed many machines these days get great CPU, lots of RAM and 6GBs SATA controllers, then put the cheapest 5400 RPM disk they can to either save as much money or get the most space-per-buck they can.
Just because the SATA connector is high-speed, doesn’t mean the disk can supply the data that fast, and if the application has lots of Disk-IO then that’s where the bottle-neck is going to be. Combine that with not using the multi-thread potential and bad uses of the Windows APIs (which can be disk intensive as well) then you’ve got the potential for a badly written write-heavy background process (eg. A data logging or “Performance Monitor”) to slow down the entire system.
Bearing in mind that the % you see is % of CPU/RAM used (not a part of the whole, but a percentage…)
Go search “system idle process is hogging my cpu”
The answer is this; crappy programs and fact that there is nothing else to go by (apart from the fact that you have a windows based computer). Without system specs, OS, etc your question is meaningless and the rest is dwindled away by your obliqueness.