• JJ (unregistered)

    Havoc is not wrought, it is wreaked.

  • (cs) in reply to JJ
    JJ:
    Havoc is not wrought, it is wreaked.

    http://en.wiktionary.org/wiki/wreak

    "It has become common to use wrought, the original past tense and participle for work, as the past tense and past participle for wreak, as in wrought havoc (i.e. worked havoc for wreaked havoc), due both to the fact that the weak form worked has edged out wrought from its former role almost entirely (except as an adjective referring usually to hand-worked metal goods), and via confusion from the wr- beginning both wreak and wrought, and probably by analogy with seek)."

  • (cs) in reply to Matt Westwood
    snoofle:
    Part of the problem turned out to be that the DBAs only allocated 512M of temp space for all users. They refused to fix it.
    "512MB ought to be enough for anybody."
  • Norman Diamond (unregistered) in reply to onitake
    onitake:
    You could have tried telling the DBAs that the "M" in "512MB" was a typo and it should have read "512GB"...
    It wouldn't matter. He's in the finance industry. M = thousand from Roman numerals. K = thousand from science except for computer science. G = grand = thousand.
  • Norman Diamond (unregistered) in reply to jay
    jay:
    They use sleep's to align with asynchronous processes? Wow. So you just put in an arbitrary sleep and hope that the other process is done by then? This sounds like mysterious bugs just waiting to happen. The program could work today and fail tomorrow.
    No, they fail today but work tomorrow. That's why they were solvable by sleeps.
  • Norman Diamond (unregistered) in reply to Matt Westwood
    Matt Westwood:
    JJ:
    Havoc is not wrought, it is wreaked.
    http://en.wiktionary.org/wiki/wreak

    "It has become common to use wrought, the original past tense and participle for work, as the past tense and past participle for wreak, as in wrought havoc (i.e. worked havoc for wreaked havoc), due both to the fact that the weak form worked has edged out wrought from its former role almost entirely (except as an adjective referring usually to hand-worked metal goods), and via confusion from the wr- beginning both wreak and wrought, and probably by analogy with seek)."

    That wrecked it for me. I reckon it reeks of wrong.

  • (cs)

    If you are improving the speed of the code, only to add a sleep statement to make it take the same amount of time, why do they pay you?

    They could have saved your salary costs by doing nothing.

  • smilr (unregistered) in reply to vidar712
    vidar712:
    If you are improving the speed of the code, only to add a sleep statement to make it take the same amount of time, why do they pay you?

    They could have saved your salary costs by doing nothing.

    Except, a second of sleep() costs less from a hardware lifetime perspective.

    Cpus run cooler during that second now, before they could be running unnecessary data processing. Alternatively, OTHER processes could schedule to run during that 1 second of sleep, yielding performance gains from other programs running concurrently.

    Extraneous reads / writes to storage would be eliminated, raising the time to failure of both spinning discs and solid state drives.

    Sure - from the user experience side for THIS application the time didn't change, but those seconds of sleep() are not without side effects.

  • (cs) in reply to smilr
    smilr:
    vidar712:
    If you are improving the speed of the code, only to add a sleep statement to make it take the same amount of time, why do they pay you?

    They could have saved your salary costs by doing nothing.

    Except, a second of sleep() costs less from a hardware lifetime perspective.

    Cpus run cooler during that second now, before they could be running unnecessary data processing. Alternatively, OTHER processes could schedule to run during that 1 second of sleep, yielding performance gains from other programs running concurrently.

    Extraneous reads / writes to storage would be eliminated, raising the time to failure of both spinning discs and solid state drives.

    Sure - from the user experience side for THIS application the time didn't change, but those seconds of sleep() are not without side effects.

    So the following should achieve maximum efficiency then:

    sleep(Math.infinity)
  • pero.peric (unregistered)

    Hope that billion in "3 billion queries" is short scale billion (10^9) because in the other half of the world billion in million squared. You'll wait quite a while for 3e12 queries to execute.

  • nulla (unregistered) in reply to John Dirt
    John Dirt:
    HA-HA. I so glad that you are having problems with your application! HA-HA...

    Why would you say such an awful hurtful thing? I don't think you're a very nice person.

  • Cujo (unregistered)

    OK, here's the deal.

    1. A temporary tablespace isn't just limited to one temporary tablespace. Each user can be assigned their own temporary tablespace. It's not practical to do one for each user but you get the idea. For certain large batches it make sense to have a specific temp tablespace to use if you can assume the same user for the batches.
    2. You can get an idea (hard evidence) via a 10046 trace just what the database is waiting on.
    3. Why the heck does everyone think a commit every X number of records is a good idea in an Oracle DB? It doesn't work that way. I'm betting the sheer size of the redo tablespace is part of the issue.
  • Andrew (unregistered) in reply to jarfil
    jarfil:
    As for SSDs, currently there are SLC, MLC and TLC drives (see: bad, worse, trash). Get yourself a bunch of SLC drives, and you'll see better performance and reliability than with any of those platter clunkers. As a bonus you get non-desctructive failure modes like just going into read-only (aka: RAID friendly) instead of dying entirely.
    I have never heard of an SSD going read only. An SSD is either working fine (reading and writing) or a brick. They fail abruptly, immediately, and without warning.
  • Tiger (unregistered)

    Snoofle has good stories but terrible story-telling skills. Groklaw is funnier.

    CAPTCHA: "Clap your hands if Snoofle is boring"

  • Yet Another Steve (unregistered) in reply to pero.peric
    pero.peric:
    Hope that billion in "3 billion queries" is short scale billion (10^9) because in the other half of the world billion in million squared. You'll wait quite a while for 3e12 queries to execute.

    shhhh... don't say that too loud. The US government will try to "solve" their debt problems by redefining a billion... "No, we're not 16 Trillion in debt, we're 16 "new" billion in debt"...

  • mOdQuArK (unregistered) in reply to Yaos

    As a young programmer, one of my first jobs was to optimize a highly-used computation function in an old C program. I did pretty well, got a 4-6x speed up, whereupon my immediate manager immediately made me put in enough sleep(n) time so that there was only about 1.5x speed up.

    He proceeded to introduce me to the "reality" of corporate programming and crush my youthful idealism by explaining that by not providing all of the optimization at once, we could claim a steady improvement in performance with every release, making management & the users happy with very little effort.

    It took me quite a while to get back my enjoyment for doing programming for work, and some amount of trust for the tools written by other programmers.

  • Norman Diamond (unregistered) in reply to Andrew
    Andrew:
    jarfil:
    As for SSDs, currently there are SLC, MLC and TLC drives (see: bad, worse, trash). Get yourself a bunch of SLC drives, and you'll see better performance and reliability than with any of those platter clunkers. As a bonus you get non-desctructive failure modes like just going into read-only (aka: RAID friendly) instead of dying entirely.
    I have never heard of an SSD going read only. An SSD is either working fine (reading and writing) or a brick. They fail abruptly, immediately, and without warning.
    Don't forget about drives that go write-only ^_^

    A few months ago I had occasion to run low level diagnostics on some USB flash memory sticks, where it seems that a supplier faked the capacity in about 20% of the sticks. Some of them had bad blocks detected by low level diagnostics. Of course bad blocks are a separate issue from faked capacity but the same tool diagnosted both. If the stick would be reconfigured to present a lower capacity than actual then some blocks could be kept as spares like ordinary hard drives do. Anyway, when enough blocks go bad, the result isn't a brick, it's lost data.

  • The Darned (unregistered)

    But if you get better people, won't management just make them sleep more often to keep them in sync with the rest of the company?

  • Nether (unregistered)

    I'm convinced that Snoofle was Hitler in his past life, and is now working off his karma. There's no other explanation for his Sisyphean struggle.

  • Mike Rore (unregistered)

    The application is not sleeping, it is power napping, which increases stability and offers many other benefits!

  • wwfarch (unregistered) in reply to finance developer

    I'm pretty sure that most people can afford to live in the city. They just want to own a house, have a yard, etc... and decide that it's worth the lost time and extra travel expenses. I commuted 1 hour each way to work for a year and decided that I'll never do it again. I'll just live in a smaller place if necessary.

  • Neil (unregistered) in reply to Anon
    Anon:
    pif:
    Steve The Cynic:
    So 3+B said to me "three or more billion", which admittedly isn't quite the same thing as "three billion or more" - I'd write that "3B+".
    http://www.dilbert.com/fast/2005-11-18/
    FTFY. TRWTF is not using the "fast" version of Dilbert.
    Surely that's going to be too fast, and we're going to have to put in a sleep() somewhere?

Leave a comment on “Too Much Sleep”

Log In or post as a guest

Replying to comment #:

« Return to Article