John McGhie said:
I don't think Word is actually "doing" anything
In this case, that might be debatable.
1. Bob F's fans are kicking in.
2. Word does not normally do that. My Boko's Word 2004 shows 1.6% on
Activity Monitor when totally idle. OK, at 1 GHz, it is twice as quick
as Bob Fowles' 500 MHz, but that still means his copy guzzles 10 times
more cpu when idle. He does have something wrong.
Word (like many applications) is an "idle loop processor". It does ALL of
its processing in the idle loop (makes it a good multi-tasking citizen).
However, this can confuse Activity Monitor. If you have nothing much
running, Word's foreground loop may show that it is using 30 per cent, but
what that really means is "30 per cent of the CPU being used", which is
quite different from "30 per cent of the available CPU".
Err no. Activity Monitor *does* display the idle time. Its reported
CPU% really is a percentage of what each processor can do flat out.
(Bob's and my Bokos have only one)
It is instructive to sample Word with Activity Monitor.
You will see that there is no polling going on in an idle Word. All the
threads are sitting in mach_msg_trap or similar. That means nothing is
charged to the application until the OS hands it control when an event
that Word is waiting for actually occurs. OK, one of those events may
be a timer as some kind of catch-all, but that would be constant, small
and invariant with load. Sure, once it gets control, it might well
choose to run round like a pre-historic headless chicken, but it should
not get control till one of the events it has declared an interest in
actually fires.
If you look at a multi-cpu sample it will be different. There each
thread except the main one is sitting on a spinlock. No cpu charge to
Word. The main thread is as described above.
All Word is doing is polling the keyboard buffer ‹ "Any keystrokes for me?
Nup! OK, back to sleep!" There's actually nothing happening, but because
nobody else is doing anything, it represents a lot of the CPU being used.
That's how OS9 and earlier did it. We're not in Kansas any more. Word
will stay asleep till an event for it fires.
The real test would be to start something you know is power-hungry (e.g. Rip
a few tunes with iTunes or a DVD...) Then have look and see if Word is
still showing up as 30 per cent.
Chances are it will drop back to around five per cent. Word is still using
the same amount, but now it's a fraction of a much larger amount of CPU now
being used
There is a small element of that, once Word and the other processes are
potentially guzzling > 100% of what's available in user mode. The
ordinary user perceives that as Word going like a slug.
Bob's fans should not be kicking in.
Therefore either his OS is pooched and dealing out events to Word like
there is no tomorrow, or his Word is borked and every time it gets
control it is doing something time-consuming and pointless. A sample
would show the latter at work.