4

I'm writing about my Sony Vaio laptop again. It's an i7 with 6 GB of RAM, 500 GB 7200 RPM machine.

Ever since I've owned it, I've seen its CPU at 100% perhaps once. Most of the time, applications seem to run at the same speed as a Core 2 Duo but with a smaller percentage of processing power.

It would be nice if the chip actually could leverage its processing power to run faster than its predecessor (Core 2 Duo).

Instead, I'll be sitting there waiting for a file to compress or a cd to rip and the computer will be using 20-25% of its processing power. Why? I'm on Windows x64, so shouldn't that leverage the chip more?

Sometimes changing the priority in Task Manager to High helps, but only for a little bit.

Is there a way to get the processor to work harder? Is it a IO issue, where my drive can't keep up? How do I know the "turbo boost" is actually working?

Thanks! I'd really appreciate any ideas.

1
  • ... Isn't this a good thing?
    – JFW
    Nov 28, 2010 at 11:34

6 Answers 6

12

File compression and CD ripping are probably being limited by your laptops IO subsystem. The usual benefit of a faster CPU is that you can do something else while it is ripping/compressing etc. If you usually wait for a single task to complete before starting the next task then you probably wasted your money buying more CPU than you actually need - at least with the laptop in question. Adding a SSD might let you balance the IO/CPU workload better.

The benefit of a 64 bit OS vs 32 is (sometimes) it can do more work with fewer cycles. In other words you'll see lower CPU utilization for the same amount of actual work done. Low numbers for CPU utilization is not of itself a "bad thing". Most people would be happy with that situation.

1
  • 2
    The reason I'm not happy with the situation is because the laptop runs incredibly hot and has no battery life. I tolerate those aspects of the laptop for more speed, which I honestly don't see as I sit there and watch it use 10% of its cpu.
    – rsteckly
    Nov 28, 2010 at 3:31
10

Depending on the application, some applications are only coded to utilize 1 or 2 cores. In order for you to see a performance gain with a quad core processor, the application must be designed to support the extra cores.

For example:

https://web.archive.org/web/20120918124251/http://www.legionhardware.com/articles_pages/starcraft_ii_wings_of_liberty_beta_performance,7.html

4

How are you showing the CPU utilisation?

If you use task manager, I suggest you use Sysinternal Process Explorer instead. This has a system information window you can open which will show a totally CPU use, or a checkbox to show utilisation of each processor core.

The fact that you cite CD ripping and file compression as cases where CPU utilisation hits about 25% SUGGESTS to me that the task you are doing is bounded by a single CPU. For example, compressing a file has performance limited by 2 things:

  • I/O (disk)
  • CPU performance

Most compression can't take advantage of multiple cores, because it is an inherently single=threaded task. So adding more processors in parallel won't go any faster. And if you view the processor utilisation of each core you will see one going flat out and the others pretty much idle. Now, one at 100% and 3 at 0% gives an average of about 25% - so this sort of fits with what you are seeing.

Similarly, CD ripping is limited by the speed at which the data can be pulled off the CD, and then what you do with it. If you (for example) convert audio to MP3 as part of the rip, then that conversion is pretty much single threaded as well, meaning again that multiple CPU cores won't be used (or make the overall job get done faster). Your limit will be set by either the read speed or the speed of a single CPU.

It SOUNDS like the reason you see 20% - 25% is that the jobs where you make the measurement are bounded to a single CPU which is running pretty much flat out, the others are idling because the tasks you are doing can't exploit multiple processors.

To see if the total processor utilisation can go higher you need to run tasks that can exploit multiple CPUs. (Of course nobody tells you if their program does this or not.)


To pick off a point raised by one of the other answers here: Some problems are amenable to parallelism and if a program (for that problem) is written correctly, can exploit multiple CPUs. And some problems can't exploit such parallelism. I'm pretty sure, for example, that LZ-style compression as used in all common zip-type files CANT exploit parallelism because the algorithm needs to read the source file sequentially in order to create the compressed file. Sequential processing like this can't easily be spread over multiple threads (where threads can then be allocated to physical processors).

4

Run Prime95 for advance battery depleting.

2

7-zip uses multiple cores to compress files but not all compression algorithms allow for multithreaded execution.

1

The higher performing CPU's might not have the full potential tapped by programs that aren't written to take advantage of more then one core.

You will see speed benefits from some of the newer programs like Adobe products or video editing software, but normally your speeds will be about the same.

Another thing to note is that operations are limited by more then just the CPU, if you're reading / writing from disk that adds seek and read time. Ripping CD's you're limited to about 52x as your maximum read.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .