Re: [NTLK] OT: Wasted CPU cycles

From: Simon Stapleton <simon.stapleton_at_gmail.com>
Date: Sun Mar 02 2008 - 03:48:17 EST

> The old guard has been shouted down and outvoted by swarming herds of
> young bucks.
>
> Things are going to get buggier, as they have been, not better.

As a programmer (and one whose first computer had 256 *bytes* of
memory), I have to say, with all due respect, this is almost totally
off-target.

It *is* true that certain applications have failed to improve whilst
becoming vastly more complex; a good example is Word, which has
sprouted multiple toolbars and ribbons and talking paperclips, but
still can't typeset worth a damn.

> But, in a Windows PC or MacOSX? Bloat city. Things have only
> kept up because CPU speeds have kept going up. Otherwise, you'd see
> fewer fancy features (pretty screen junk) and releases that get
> *faster*
> rather than *slower* with every release.

I can't talk for Windows, but OSX (at least up to 10.4, I don't have
10.5) has got *noticeably* faster with every release.

> Consider how quickly a Mac
> 128k (that's 1/8thMB, or 1/8192th of a GB!) booted versus your current
> machine. With a processor that's 256 times faster (2GHz processor),
> shouldn't it boot nearly instantaneously?

Machines *do* boot nearly instantaneously. Really. If you want to
boot to (more or less) the equivalent of an Apple II, hold down cmd-
opt-o-f on a powerpc mac when booting. No windowing system, no
bloat, filesystem access, direct access to a programming system, and
the whole boot process is only slowed down by the duration of the
startup chime.

It's not lack of talent that means bigger programs (although that can
have an effect). It's additional abstractions, the fact that you
*can* get away with bigger programs to do additional things or to do
existing things faster. When I first moved to a 16 bit machine
(Atari ST), I was shocked to find that clearing a screen in assembler
was generally done using a contiguous chunk of movem commands rather
than a loop. Why? Because it was vastly faster to do it that way.
32K of identical words, half the addressable memory of the average 8-
bit machine, just to clear the screen. Was this laziness, or lack of
talent? No, it was using the machine to its best capacity.

> Unfortunately, memory and i/o speeds haven't kept up.
> Memory used to run as fast as the cpu, or even a bit faster back in
> the
> 8-bit days. Now your CPU is clocking instructions at multi-GHz rates
> and the memory is running at 663MHz, tops. Thus, the on-board
> cache for
> those compute-intensive applications. However, your windowing system,
> text processing, graphical applications: All data-intensive. (And
> thus
> I/O intensive!)

So what? Really, why should I care, as a user, what speed my memory
runs at? Even as an application programmer, it's rare that memory
(or even disk access) is the bottleneck - the performance bottleneck
usually lies between keyboard and chair, and that's pretty much
always been the case. There are a few rare cases where memory access
speeds are an issue, generally compute-heavy applications dealing
with large amounts of data, but these are far from the norm.

I'm currently typing this on a 2 year old Mac Mini, with 1GB of
memory and a 1.4GHz processor. It's running an operating system
that's written in C/C++, and my email client is built on an
abstraction layer that provides a vastly easier access to OS services
using Objective-C. I also have several terminals running, one of
them running a massive compile, a couple of relational database
systems which are being actively accessed, 2 webservers, one running
an application in Ruby, another in Python, both of which are
interpreted languages, a bunch of PDFs open, a web browser with 15 or
so tabs open, a couple of editors, 2 VOIP clients, a TOR proxy, and
I'm listening to music in mp3 form. That's only *my* processes. I
can happily swap between windows, type my email, and although my cpu
is at 100% that's because my compile is taking up what is left over
from all the rest., without affecting my user experience. With the
compile killed, I'm at 20% cpu usage or so. All at once, and on a 2
year old, "consumer" level machine that cost less than 20% of the
cost of an original Mac 128 (at original prices, or 10% or so if you
adjust for inflation).

 From my POV, modern computing isn't rubbish. Far from it; it's
frickin' excellent.

Simon

====================================================================
The NewtonTalk Mailing List - http://www.newtontalk.net/
The Official Newton FAQ - http://www.splorp.com/newton/faq/
The Newton Glossary - http://www.splorp.com/newton/glossary/
WikiWikiNewt - http://tools.unna.org/wikiwikinewt/
====================================================================
Received on Sun Mar 2 03:48:27 2008

This archive was generated by hypermail 2.1.8 : Sun Mar 02 2008 - 15:30:00 EST