in reply to Re: multi-PC tasking
in thread multi-PC tasking

The big question is this: "what can we do about it?" I don't think anything, except refusing to buy/use software that is needlessly bloated. But that even excludes Gnome these days...

You can't get around a simple fact: programmer time is a resource, too.

It takes time to optimize code for size/speed/performance, and some programmer needs to give up things they could otherwise be doing to do those optimizations.

When the benefits of that time investment outweighted the costs, it was a good practice. Typically, those benefits were the freeing up of scare resources, like RAM, processor time, etc.

Now that the those resources are no longer scarce, the benefits of doing all that extra optimization work become increasingly less worthwhile from a cost/benefit standpoint.

If it costs the developer valuable time, and doesn't save anyone any time or money in return, how is it of value? In any company that values profits, it's not.

Also: if an obvious, inefficient, dead simple brute force algorithm will do the job, and a tricky, complex, brittle, and hard to understand algorithm will do it twice as fast, you code it the brute force way. Why? Because it's good enough, and the cost of maintainer time is much more important than the fact that the program technically runs in ten miliseconds instead of only half a milisecond.

It's just simple economics, really. Don't expend expensive resources trying to save cheap ones; do the opposite. As computing resources have typically grow exponentially cheaper, our costing priorities have had to shift to keep up.

It's no longer worth it to spend an hour of programmer time to save a hour of computing time: because the programmer's time costs much more than computer's time. On the early mainframes, it was the exact opposite. -- AC

Replies are listed 'Best First'.
Re^3: multi-PC tasking
by Jenda (Abbot) on Aug 26, 2005 at 23:57 UTC

    Well, quite often you would not need any advanced optimization. Quite often all you'd need is someone who's been around for some time to be asked to have a glance over the code of the youngsters and tell them not to quote variables they wanna pass to a function (hey, this is Perl, not a shell script), to add a few indexes in the database here and there, to use Int instead of Numeric(9) in the database, to use this or that module instead of wasting time trying to control MS Excel or MS Word via Win32::OLE, ...

    Noone expects people to rewrite parts of their code to the assembly code to speed it up or to spend hours trying to find the most efficient way to do something to save a few cycles. Even the very basic and easy to implement things can help a lot. And all it would take is for the management to understand that time spent teaching&learning, that the time spent reviewing each others code is not wasted.

    Jenda
    XML sucks. Badly. SOAP on the other hand is the most powerfull vacuum pump ever invented.