Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Jon'sLightBulbs

macrumors 6502a
Original poster
Jan 31, 2005
524
0
Chicago
How can you tell if an app is optimized to use both cores of a dual core processor (or 4 for a quad) besides searching through the publisher's documentation?

My theory: if the top command in terminal ever reports that the app is using more than 100% of availible cpu cycles, the app must be optimized to use more than one proc. core.

Example: Aperture routinely uses 150+ percent of my processor cycles. (dual core g5). Does this mean it must be optimized for dual core?
 
If the process has more than one thread (#TH in top), it can use more than one processor/core. Not all threads are equally demanding, so the process might be using less than 100% of a CPU's time (40% could be split 30%/10% or 20%/20% or whatever, across multiple processors/cores).
 
Jon'sLightBulbs said:
How can you tell if an app is optimized to use both cores of a dual core processor (or 4 for a quad) besides searching through the publisher's documentation?

It seems that GCC doesn't support OpenMP, so is the way to optimize applications actually "manual" creation of threads (or buy the Intel compiler ;-)). Hm.. then again.. OpenMP doesn't support Objective C, so it's probably not very important on a Mac, anyway.
 
weg said:
It seems that GCC doesn't support OpenMP, so is the way to optimize applications actually "manual" creation of threads (or buy the Intel compiler ;-)). Hm.. then again.. OpenMP doesn't support Objective C, so it's probably not very important on a Mac, anyway.

Yes, you can use NSThread, posix pthreads, etc...
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.