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."

31 of 854 comments (clear)

  1. Just look at the size of a word document today by marika · · Score: 5, Insightful

    I used to be able to fit the system, the finder, mac write and 3 X 8K docs on a floppy. Now I could barely fit a word document.

    --
    This is totally insecure, but very convenient.
    1. Re:Just look at the size of a word document today by bongoras · · Score: 5, Insightful

      But you can still fit an entire book on a floppy if you use LaTeX. The morale of the story: Don't want a slow, bloated system? Then tough it out and don't use one. But don't complain when you have to type:

      \begin{enumerate}
      \item Open a terminal window by right clicking on your desktop and selecting ``Open Terminal''
      \item In that window, become root by typing {\tt su}
      \item Now put a blank CD in your drive and burn the iso image to it by typing \\
      {\tt cdrecord -dev=0,0,0 cdimageyouwanttoburn.iso}
      \end{enumerate}

      instead of clicking the bullet button or asking a paperclip to make a list. It's all a matter of what you want. There are plenty of lean, mean systems out there. Don't bitch about UI slowness unless you are willing to use a plain-text console with "screen" "mutt" and "elinks" as your main applications.

    2. Re:Just look at the size of a word document today by squiggleslash · · Score: 4, Insightful
      Wow, talk about extremes.

      I'm pretty sure there's a half-way house somewhere. I seem to remember the early nineties were full of fully functional does-everything-I-want applications that had nice GUIs and used a megabyte or two of memory when they ran.

      I wouldn't categorize MacWrite or early Mac OS as that, but, I don't know, Lotus AmiPro and Microsoft Word for Windows 2 were pretty good, to give two examples.

      --
      You are not alone. This is not normal. None of this is normal.
  2. Where are all the precious cycles going? by R2.0 · · Score: 3, Insightful

    spyware, trojans, p2p apps.

    --
    "As God is my witness, I thought turkeys could fly." A. Carlson
  3. Nobody give a fig about optimizing by winkydink · · Score: 5, Insightful

    'memory is cheap'
    'disks are fast'
    'processors are fast'

    nobody cares about optimizing code anymore.

    --

    "I'd rather be a lightning rod than a seismometer." -Ken Kesey

    1. Re:Nobody give a fig about optimizing by cortana · · Score: 3, Insightful

      That's just what the assembley programmers said when researchers were moving to C. ;)

    2. Re:Nobody give a fig about optimizing by dattaway · · Score: 4, Insightful

      Back in the old days, popular applications were stand alone, written in assembly, and made to fit within a single code segment. Since resources were small, much care was taken to get the most out of so little. Software back then were simple like motorcycles; they had the basics bolted to a simple frame and off it went. Today we have software written with stock libraries, made to work with all kinds of resources and standards, and required to work with large filesystems and memory maps. Applications back then fly today, but seem like a small insect when it comes to functionality.

    3. Re:Nobody give a fig about optimizing by tomstdenis · · Score: 4, Insightful

      I'd hope not because for most problems efficient *algorithms* are more important than efficient implementation.

      Tom

      --
      Someday, I'll have a real sig.
  4. Change isn't always a given. by litewoheat · · Score: 3, Insightful

    There's been so mauch change in the past few decades that people keep expecting the same amount of change everywhere. Many people know nothing else. UI as developed by PARC then refined by Apple and Micrsoft hasn't really changed much except for evolutionary steps. There's no revolution coming. Cars have been driven the same basic way since the Model T. Its my firm belief that there will not be revolutionary things such as the printing press, radio, tv, and the Internet coming withing the next 100 or so years. Its time to start refining what we've created rather than look to supplant it.

  5. Usere experience unchaged .. nooo way by iMaple · · Score: 5, Insightful

    But, in fact, the user experience of performance hasn't improved much over the past 15 years

    Now that really depends on what you would call 'user experience'.
    Compare a file manager 15 years ols (PC Tools had one right .. for DOS) to the KDE/ Gnome file managers (Ok MC looks the same still :) ).
    Compare pine to Thunderbird.(though I still use pine on my old laptop :) )
    Compare Usenet clients or say Lynx to Firefox,
    Compare Doom 3 to Pac Man .
    Comapre the fancy graphics on OS X to Win 3.1 or whatever OS Mac had then

    No Sirrr I say the user experience of performance HAS changed. Maybe not directly proportional to the Proceessor speed increase (due to code bloat ?) but still its much much better. Thats my $0.02 .

  6. Heh by FiReaNGeL · · Score: 5, Insightful

    I think that the article writer just realized what a lot of computer buyers don't : CPU speed != more performance, ESPECIALLY when you look at graphical display and Word processing (at least he didn't include "web surfing speed").

    Where are my CPU cycles and memory going on my AMD 3500+ and 1Gig 400MHz DDR Ram? Most of the time, nowhere. 1% CPU usage, commit charge 150 megs / 1 gig. Honestly, if you don't use CPU intensive apps, there's a limit to the 'improvement' you can expect in 'graphical display' and 'word processing' speed. But sales rep will tell you otherwise, for sure.

  7. Stuff running in the background by grahamsz · · Score: 5, Insightful

    Generally (at least on my less used windows box) i have most of the following running most of the time....

    1) VoIP Client
    2) Messaging Client
    3) Word Processor
    4) Multiple Web Browsers
    5) Email Client
    6) Probably some graphics or photo editing tool
    7) Something playing music

    In addition there are various other background processes like desktop indexing, things watching for my digital camera being plugged in, smart start stuff...

    Linux is probably worse since i keep Apache and often Tomcat running all the time.

    Back in the day, this was never how it was done. You'd optimize config.sys to get the absolute max amount of free conventional memory.

    Multitasking has improved to the point that many users probably run close to 100 processes at any point in time..

    prstat here says i'm on a system with
    Total: 3741 processes, 6739 lwps

    Fair enough it's a shared box, but that scale was impossible a decade ago.

  8. Mac OS X by weave · · Score: 4, Insightful
    An interesting thing I've noticed since I got a laptop running OS X is that it seems every new release and patch for it "improves performance" in some area.

    So Apple is bucking the trend, or their first versions of OS X were an inefficient piece of crap and they are just now optomizing it.

  9. subjective performance... by bani · · Score: 3, Insightful

    just like users will manage to fill most of the storage space available (no matter how large that may be), user tasks will manage to fill most of the cpu available (no matter how fast the cpu is).

    the subjective performance of overall data processing hasn't changed much, but that's just because task complexity has increased as cpu speed increased.

    15 years ago, most applications were far less computationally complex than they are today. it has little to do with code bloat.

  10. Re:Code Bloat by pilkul · · Score: 3, Insightful

    Or in other words, developers spending less time on petty optimization to work on features and bugfixes.

  11. Re:My memory Usage by HeghmoH · · Score: 4, Insightful

    Do you have any evidence whatsoever for this? It's not a good idea, and iTunes uses a constant amount of CPU while playing music, indicating a normal buffered, streaming decompression scheme.

    --
    Mod down posts with a "Free Mac Mini/iPod" sig, they're spam!
  12. My favorite theory... by merlin_jim · · Score: 4, Insightful

    Is that it is (like nearly every other system out there) an economical system; it's all about supply and demand.

    I this case there's a supply of plenty of clocks. There's an (existing) demand for a certain level of performance; if the supply outstrips that demand, then the supply is devalued, and consequently the programmers don't spend as much time conserving that resource.

    Or to put it another way, programs behave like a gas with respect to responsiveness and user expectation; they expand to fill the available space.

    Or to reword it another way (quoting from the article): computers are, in fact, doing more than they used to. A lot of the things computers do are fairly subtle, happening beneath the radar of a user's perception. Many functions are automatic and, as discussed in last month's column, you could probably do without some of them.

    --
    I am disrespectful to dirt! Can you see that I am serious?!
  13. Re:Code Bloat by Anonymous Coward · · Score: 4, Insightful

    You want cross platform, you want platform support, so get used to VMs and WRAPPER code.

    You want language interop, you have to live with COM, DCOM, CORBA, XML Web services, SOAP, UNO. If not, then go back to your Amstrad or Sinclair.

    FFS you cant have your cake and eat it.

  14. Its not bloat if you derive utility from it by Ars-Fartsica · · Score: 4, Insightful
    I am tired of seeing this rolled out naively again and again. I like smooth fonts, multimedia support, device management, hires icons, a little bit of eye candy etc etc.

    I derive utility from them and my hardware can handle it. This is not bloat.

    1. Re:Its not bloat if you derive utility from it by EmbeddedJanitor · · Score: 4, Insightful
      What is bloat though is the shitty code behind these. Nice bloaty STl C++ class implmentation that does, in 200 line, 5kbytes and 5000 cycles what a tight bit oc C can do in 20 lines, 100 bytes and 200 cycles.

      Bloating isn't just in RAM, CPU and diskspace. It's now happening to other resources like network bandwidth too. Ten to 15 years ago I could do a lot of very useful stuff with a 1200baud dial up. Now 50k dialup is pure crap for many purposes, mainly because of bloat.

      --
      Engineering is the art of compromise.
  15. Vested Interests by benjamin_pont · · Score: 3, Insightful

    Don't you think that if we all had zippy computers with slim, efficient operating systems and applications that made modest use of resources, and had only the features people wanted, then there would be a lot of bankrupt technology companies and unemployed programmers since no one would be upgrading their systems (much)?

    * Excerpt from Aldous Huxley's Brave New World *

    "We condition the masses to hate the countryside," concluded the Director. "But simultaneously we condition them to love all country sports. At the same time, we see to it that all country sports shall entail the use of elaborate apparatus. So that they consume manufactured articles as well as transport. Hence those electric shocks."

    "I see," said the student, and was silent, lost in admiration.


    By the way, current number of mouse-clicks to configure viewing an MS Outlook sender in a given color:

    17

    Don't $top that fat, gravy-train from rolling! Keep the bloatware coming!

  16. Re:So by Flashpot · · Score: 3, Insightful

    But people AREN'T demanding it. It's being foisted upon them. Nobody is DEMANDING that windows-xp is to be delivered on all new peecees except Microsoft.

    --
    That which does not kill her only prolongs my agony.
  17. Re:Code Bloat by Rei · · Score: 5, Insightful

    More than just code bloat: disk access speeds combined with the increase in size of everything (for "richer content", "more features", etc).

    With a lot more files, a lot larger files, etc, your performance at file access (and disk caching) will decrease unless you can increase the throughput and decrease the seek time/latency of data access from the disk.

    Back in 1998, most PCs were shipping with 5400 RPM hard drives; I bought a used 10k rpm drive for 200$. Nowadays? Most PCs are still shipping with 5,400 RPM drives, and 10k RPM is still good performance (although not the best out there - although, mine back then wasn't top of the line either).

    Disk sizes are scaling up wonderfully. Disk access speeds are not. The same holds true with RAM.

    --
    Dear Lord: One of your creatures may be hurt tonight. Please let it be the other creature.
  18. It's not just that... by bonch · · Score: 5, Insightful

    A lot of people like to wax nostalgic about the good ol' days when things were faster, all the while ignoring the featuresets implemented today. The fact is, yesteryear's code wasn't as advanced or featured. A word processor from ten years ago may have been pretty damned fast, but today's word processors load dictionaries to spellcheck your document and grammar as you type and import graphics.

    Windows 3.1 may have been incredibly snappy, but it also lacked propery memory protection, wasn't 32-bit addressed, and didn't provide an intuitive interface. Also, more advanced typography (anti-aliasing) and filesystem indexing services like Spotlight come into play, as well as all the important system daemons running in the background that are now considered stock.

    It's not that things aren't getting any faster because of bloat. It's because as power increases, the ability to add new modern features to the original experience is utilizing that extra power, just as it should.

    1. Re:It's not just that... by The+Bungi · · Score: 3, Insightful
      Windows 3.1 may have been incredibly snappy

      I see your point, but let's put things in perspective - Windows 3.x was not snappy on common hardware available in that day, which was pretty much a 486DX2-50/66 with 8MB (average) of RAM and slowish IDE HDs. It really wasn't until the Pentium 60/66 became more mainstream (and I managed to get my hands on one) that 3.x actually seemed damn fast. This was especially true for WFW, which was rather slow on a DX33, but OTOH it actually got better if you threw 32MB or RAM at it, whereas the normal version of Windows stopped noticing once you went past 16-24MB.

      Don't get me wrong, I'm not saying it was unusable. It just wasn't particularly snappy.

      It's always been this way - when Windows XP came out the majority of people were still running PIII's in the 450-900MHz range; it wasn't until you got a P4 that things started looking rosy. XP/2003 on a 3GHz P4 with HT are positively snappy. But as long as Intel continues to deliver...

  19. Re:Code Bloat by pilkul · · Score: 4, Insightful

    The bottom line is that optimization is rarely the best thing a developer can be doing with his time. There's a lot more you can do with "a day" than tweak a poorly thought out algorithm. By all means optimize if your program is as slow as molasses and your profiling shows that a particular section of your code is at fault. Otherwise, good programming practice is to think about other things.

  20. Re:Fun fact! by Johnno74 · · Score: 4, Insightful

    Nope, wrong. Task manager reports working set, which is whatever memory windows THINKS the process is using at the moment.

    Reporting the total memory allocated by an app is meaningless, because much of that memory includes things like memory-mapping DLLs that are only loaded once, and shared amongst all processes using them.

    Windows constantly trims pages from the working set of each process that haven't been accessed in a while and pages these out to disk.

    When you click the minimize button windows assumes that the app (or at least large parts of it) are going to be inactive for a while, so it tries to remove as many pages from the working set as possible - hugely reducing the "memory usage" reported in task manager. Sometimes it is a little too agressive in trimming pages from the working set, and the "memory usage" immediately climbs a little again, as the app accesses memory pages that windows thought it could page out.

    Try it with an app like MS Word that has background threads that constantly check spelling and stuff, and you'll see the working set goes up for a few seconds after you minimize it.

  21. ummm... kernel compile? by rsw · · Score: 4, Insightful

    I don't know about you guys, but back when I was running linux on a 33 MHz 80386, my kernel compiles went overnight. Now they take, oh, ten minutes.

    I'd say that's an improvement, wouldn't you?

  22. What kind of optimization? by DeadVulcan · · Score: 4, Insightful

    nobody cares about optimizing code anymore.

    You can optimize in many different ways: for run-time performance, maintainability, extendibility, usability, compatibility, and probably a bunch of other ways I can't think of just now.

    Many of these are at odds with each other. And since computers are getting faster, I think it's perfectly reasonable to start trading off run-time performance with some of these other things.

    --
    Accountability on the heads of the powerful.
    Power in the hands of the accountable.
  23. Re:My memory Usage by TheGavster · · Score: 3, Insightful

    Two things. First, could it possibly be under Windows? Try minimising it and tell us again.
    Well, that's just shite interface programming. Other apps don't suck 60MB to display a window.

    Next. To put your question differently "Why does Matlab uses 300Mb just to add two numbers?" Because it is intended for more than that?
    Matlab is designed to perform complicated calculations and analyses, so simple integer addition is an inappropriate application. iTunes is designed to play media files, so playing an MP3 is an appropriate application. Your point is void.

    --
    "Because Science" is one step from "Because old book". Try "Because of my experiment testing my falsifiable assertion".
  24. TFA is a piece of junk by patio11 · · Score: 3, Insightful
    Something tells me the author has no clue how virus scanners actually work. Unless those games loading image files are loading them in a known macro-virus-prone format (and, I can say without fear of contradiction, WoW isn't parsing textures from .docs), the gigantic resource files will *never be passively scanned* because they are *incapable of being executed*.

    You can verify this for yourself. Get a file containing a virus signature (find an old trojan somewhere). Disable your virus scanner, copy it to an arbitrary place on your machine, rename it to .dat, and turn on the virus scanner. Your virus scanner won't pick up the file unless you've set it to active scan everything on certain intervals. Leave it there for a few weeks and it will never be picked up by the passive process because the passive process *doesn't worry about non-executable data*.

    CPU usage caused as a result of automatic spellchecking is another howler. Its one thread, which will spend most of its time blocking for IO (thats you, chief!) Typical usage patterns will see no slowdown due to the checking thread -- open up your favorite resources manager and start banging away at MS word, unless you type faster than God or start dumping copy-pasting or macro magic into the file your CPU usage won't even budge. The algorithms, by the way, give maximum priority to the user input handling threads and close to minimum for the background checks, because word processor developers know the perception of speedy response is one of the key features of their product. As a result, they'll generally not start spell-checking a copied block until the CPU is otherwise underutilized (i.e. blocking on user IO).