Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
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.


In reply to Re: CPU cycles DO NOT MATTER! by bastard
in thread CPU cycles DO NOT MATTER! by dragonchild

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?

What's my password?
Create A New User
Domain Nodelet?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (7)
As of 2022-12-07 17:08 GMT
Find Nodes?
    Voting Booth?

    No recent polls found