Slashdot Mirror


Where Have All The Cycles Gone?

Mai writes "Computers are getting faster all the time, or so they tell us. But, in fact, the user experience of performance hasn't improved much over the past 15 years. This article takes a look at where all the precious processor time and memory are going."

4 of 854 comments (clear)

  1. Re:Nobody give a fig about optimizing by Rorschach1 · · Score: 5, Interesting

    Nobody except embedded programmers. My biggest project of late runs on an 8-bit, 8 MHz CPU with about 7k of Flash and 192 BYTES of RAM. Not megs, not kilobytes, but bytes. That's equivalent to less than three lines worth of text. And the code's written in C, rather than assembly, so while it's easier to maintain, it takes more effort to make sure it stays efficient.

    I think all programming students should have to code for a system like this. It gives you a MUCH greater appreciation for what the compiler is doing for you, and what the consequences of simple changes can be.

  2. Re:Just look at the size of a word document today by EnronHaliburton2004 · · Score: 5, Interesting

    Now I could barely fit a word document.

    And how much of that bloat in Word is useful information?

    If I open word, type the letter 'a', and save the document, it's a 20K document.

    If you type 'a' 2000 times, it's still a 22K document.

    What the heck is in that other 99.9% of the document?

  3. I can't work 2^(years/1.5) faster... by nick_davison · · Score: 5, Interesting

    I haven't had to set an IRQ or DMA setting in years. I've not had to mess with himem or any other arcane memory configs and boot disks, restarting my entire system each time I want to run a different game.

    Each time I plug in a new joystick and it just works, each time I plug in a new digital camera and it's just there as another drive, each time I alt-tab out of a game, check a walkthrough website, then alt-tab back, I think back to the old days where code was really efficient and didn't do any wasteful background tasks like that.

    I remember helping a friend with a C++ assignment, via the net. Each time, she'd have to exit her telnet program, run Borland's C++ compiler from the command line, check the output, quit the compiler, reopen telnet, reconnect to the MUD we were talking over, then describe what had happened. Now... She'd just show me what's on her desktop via Messenger while we kept chatting.

    And if some cycles get used up doing weird UI gimicks that I'll never use - like making the UI scalable so the partially sighted can use it, I'm willing to trade that.

    For all those reasons, I'm more than happy that my 2^(years / 1.5) faster PC "wastes" all of those extra cycles. And that's before we get on to things like built in spell checkers and real time code debugging as I write it.

    I don't want a 2^(years / 1.5) faster experience. I want all those cycles put in to making things work closer and closer to how I just expect them to work.

    I don't know about anyone else but I can't code 2^(years / 1.5) faster so I wouldn't be able to keep up with that damn responsive text based compiler. On the other hand, I am that much faster overall as I now call an API that adds all that "bloatware" instead of having to code my own damn mouse drivers, my code is largely debugged on the fly and I can't remember the last time I lost several days just trying to format a newsletter in to columns.

    So, before saying the cycles are wasted:

    Pick an every day but semi complex task that people do now. For example: For a homework project, go on line, grab half a dozen graphics and ten blocks of text from those websites, put them all in to a stylishly laid out newsletter format. Do that on a P4, then do it on an a DOS PC from 15 years ago.

    See if matching the same quality of work doesn't take you 2^10 times as long on that old PC, assuming you can even do it at all.

    Those cycles aren't wasted. Sure, we do the same basic tasks but we do them with vastly more flexability and don't have to waste days of our lives wrestling with configs to do what we now consider simple tasks. That's where the speed is.

  4. Re:Not Lazy. by Cee · · Score: 5, Interesting

    If you have the entire contents in memory you can be assured of not skipping if there becomes contention for the disk.

    Well, the process can still be paged out. So you don't really gain anything from doing that.

    iTunes on the mac is famous for not skipping no matter the system load, guess why?

    Decoding an mp3 file is not a heavy task, even a 486 CPU would manage that. And Winamp hasn't skipped on my computer either, regardless of load. So I don't think it has anything to do with pre-decompressing the music.