Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

Personally, I find the whole, "throw memory at the problem, hardware is cheap" philosophy abhorent!

Maybe this stems from starting out on 'big' multi-user systems with a whole 128 Kb of 'core'(1) memory used by up to 32 users at a time.

1 Tiny ferrite beads threaded--lovingly, by hand by japanese ex-perl divers--around each junction in a 2D grid of thin copper or gold wires. Quite fast (in its day) and hugely expensive!

Maybe its because I see programs like Xara3D that can render 3D objects, with 24-bit surface texturing and 3 24-bit light sources, whilst rotating the object in 3-dimensions and scaling it in real-time!. And all this on my poor ol' 233MHz pentium whilst I am changing the position of the light sources, the speed and direction of the three rotations and scaling the objects by dragging sliders. The changes are immediate.

The executable is just over 1 MB in size.

I compare this with other top name brand graphics applications and they are huge (100MB+ with configuration files and registry usage more than 1 MB each), uncompromisingly horrible to use interactively and soooo sloooow!

It also has to do with the notion that it is very rare for any computer system to be doing just one thing these days. I always have a multi tabbed browser session running. 20+ files open in my editor, half a dozen command line sessions, a download running in the background etc. etc. I know that this is nothing remarkable. The point is that if every program adopted the philosophy that when its running, it is going to routinely grab as much memory and cpu as it feels like with no regard to what else is running in the system, then my current way of working would require much more highly specified machine than I have.

So, I frequently reject software that I feel consumes more memory or cpu than is necessary and especially stuff that is written with the philosophy that while it is running, it owns the box.

For me, optimising memory and cpu usage isn't about saving a few bytes here and there or knocking a few seconds off of the runtime of a long running program. It's about not consuming what you don't need to consume and realising that software doesn't run in isolation.

Using a memory hungry algorithm rather than a more complex less hungry one may save the individual programmer a few minutes or hours of design or coding, but every user of the result pays the penalty.

This may be ok for one-off, bespoke packages aimed at corporate environments that have the money to throw hardware at the problems the philosophy creates, but it's also selfish and impolite!


Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller
If I understand your problem, I can solve it! Of course, the same can be said for you.


In reply to Re: Is it wrong? by BrowserUk
in thread Is it wrong? by Drgan

Title:
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?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (2)
As of 2024-04-20 01:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found