views:

180

answers:

4

Just like cars, speed is cool, but: "is speed needed? Will people to pay for it?"

Word processing, email and spreadsheets are fast enough, even on underpowered netbooks (they've been fast enough for a decade.) Provided you can play HD video and sound, do people need it to be faster? It seems that games can always use more power, and it's true - but will people pay for it? The success of "casual games", and the Nintendo Wii (cf XBOX360 and PSX3) suggests that most people won't; and that more power doesn't mean more fun for them (at least, not enough extra fun to pay extra.)

Which apps are too slow? What is a needed app, that is currently too slow?

The only ones I can think of are embarrassingly parallelizable (servers, graphics, physical modeling, running several apps at once.) Clarify: it seems to me that it doesn't matter that multi-core is hard to exploit, unless there is something that (1) isn't embarrassingly parallelizable; and (1) needs to be faster. I'm asking for such cases.

Here's an opportunity to invent something new that people even didn't know they needed, that wasn't viable before multi-core.

Background:

How are you taking advantage of multicore?

Are you concerned about multicore?

Please, could one of the closers explain why this is "not a real question"? I think it is, and I can't see anything wrong with it. Is there a FAQ that can guide me in what questions are "real" on SO? Thanks.

+5  A: 

I remember a lecturer from MIT said something like (paraphrasing) "performance is like currency that you can trade away for more useful things, for example, better user interfaces, ease of coding (higher level/managed runtime languages) or less complex/more maintainable programs."

fd
13ren
+2  A: 

I will pay for extra speed.
But I am a power user, I run many programs at once and compiling can take a lot of time as well.
More speed means less waiting and doing nothing.
Most users currently don't need it.
Only gamers, coders and scientists actually need more speed since it's critical in their field. A computer for me is not only a tool. It's a job.
I disagree with fd's lecturer that says that performance can be traded off towards other things.
It's the first thing that comes into my mind.
A good GUI is also a responsive one.
A good language shouldn't slow down performance.
Maintainability is the only trade-off between performance and comfort.
With the right tool for the right job, everything is maintainable and also fast.

the_drow
OK, "compilers".Just BTW, in researching this question, I came across: gmake -j, for parallelizing builds when dependencies allow it. Make (and other build tools) are unusual in that they explicitly declare dependencies, so this kind of parallelization can be done easily.
13ren
Neat :)Thanks a lot.
the_drow
+1  A: 
Curt Sampson
OK, faster GUIs; faster webpage rendering; faster javascript apps; faster spreadsheets - all not essential, but nice and worth paying something for. Just BTW: Google's Chrome has dramatically faster javascript - you might find webapps more responsive with it. I have to agree that snappy UI's have a definite charm - one core for the UI, and one for the workload would certainly be worth paying for. I think spreadsheets could be parallelized, because most documents are dataflows (without cycles), like unix pipes.
13ren
+2  A: 

I'd say business apps in the finance area. I work at a reasonable large vendor making a front office trading system and virtually every check-in (in the functional/business logic code) has to be weighed against its performance impact.

Certain things are easy to parallelize, like the raw valuations of the contracts - that's just side effect-free black-box functions containing a lot of math. But if your app is handling a book with perhaps 10000 positions, then even small calculations on the level above the math-heavy core, like discounting of all the cashflows, or fx conversions, adds up. It is not easy to parallelize here since a lot of these "small" calcs are not additive over the positions.

So for the finance industry both 64-bit (for the memory) and multi-core is very much needed.

OK, finance: speed is needed, and it's not easy to parallelize.
13ren