Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris


by bastard (Hermit)
on Apr 18, 2008 at 09:49 UTC ( #681432=note: print w/replies, xml ) Need Help??

in reply to CPU cycles DO NOT MATTER!

You've got me totally scratching my head. Nearly every major app i've ever worked on needed optimization to get the most out of the hardware because it was a problem. I'm not talking about super scientific migrate code to assembly optimizations, but a general culture of development that paid attention to efficiency (as well a security, growth, expansion, etc...) All the smaller optimizations add up in the long run.

In your example speaking of 3 millionths of a second, what happens if there are 100,000 cases in the codebase where there is a 3 millionth of a second delay? Thats a hundreth of a second. Now multiply that by a few hundred thousand operations per second... You've got a real problem at this point. However I'm not talking about smallish apps like the code that drives perlmonks, slashdot, facebook and the like. I'm talking about those multi million line codebases, like online banking apps, stock markets, custom erp apps, etc... Not paying the right attention to efficiency can kill you as the app scales. It may blaze with only a few hundred thousand or million records but what happens when you've got several billion and you're trying to guarantee a 2 second response time? (The latest scaling/efficiency issue i read about was with some forum application where the customers were had forums with hundreds of thousands of posts and searches were timing out. The answer from the developers? Archive old posts...)

The one time I had the oportunity to witness what happens when efficiency wasn't given its due (outsourced development), a pair of Sun E10000s were required to support a customer base of maybe 50,000. Meanwhile the app we were working on supported millions of concurrent sessions on a single E10000. Once you scale beyond the small and medium business, optimization can cost millions. In both cases the hardware cost more than 20 man-years of development.

No, for most people efficiency isn't all that important for smaller apps and its smarter to write a flexible and robust application first and optimize later vs. writing an optimized application first and hacking new functionality later. But to say attention to efficency isn't a good idea is questionable in my mind.


Replies are listed 'Best First'.
A reply falls below the community's threshold of quality. You may see it by logging in.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://681432]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (4)
As of 2021-06-19 13:23 GMT
Find Nodes?
    Voting Booth?
    What does the "s" stand for in "perls"? (Whence perls)

    Results (92 votes). Check out past polls.