On Sun, 27 Nov 2005 16:57:12 +0000, Stephen Fuld wrote:
Well, first of all, I was responding to an earlier post that mentioned
desktop searching, not making a general statement.
Sure, but it was such a nice statement, I thought it worth using as a
launching board, to get back to the topic of the Subject.
That said, except for
graphics manipulations (which, as I said earlier seems amenable to tailored
instructions (e.g. SSE, etc.) or to better use of the streaming architecture
of graphics processors), and games, which have far better than average
programmers to take advantage of multiple cores, SMT, etc., I cannot think
of a high use example of an application that meets your stated criteria.
I'm not saying that there aren't any, but if you can think of some, please
let us all know.
Well, there aren't really many things on desktops that cause any
perceptable delay at all. Hence the Forest curve.
Of those that many people encounter, media manipulations of various sorts
and searching stand out, and both of those are observably both trivially
parallelizable and/or IO bound.
Joe Seigh has mentioned browsers, and by extension most GUIs. I suspect
that most perceived browser slowness is really IO limitation (network
latency), but it's true that most existing "WIMP" systems have fairly
strong single-threading constraints in their historical implementation and
design, if not of necessity. High-end "visualization" and CAD systems
show that parallelization is useful for other heavy graphics problems, so
we should expect similar results for video games.
In the more specialized world of software development, compilation is
mostly parallelizable (and "make" handles that without much end-user
effort) up to the point where it becomes I/O bound.
What do you do that induces "wait" that you think isn't I/O bound or
trivially parallelizable?
--
Andrew