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

37 of 854 comments (clear)

  1. On complexity, code bloat and user interface by Anonymous Coward · · Score: 5, Informative

    Mr. Seebach points out that "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."

    This recalls an analogy drawn by a recent Economist article. Unlike most automobile analogies popular among Slashbots, this one is actually rather appropriate: "By the 1930s, ... the car had become more user-friendly and ready for the mass market. ... [T]he makers' increasing skill at hiding the technology from drivers ... meant that cars got hugely more complex on the inside, because most of the tasks that had previously been carried out by drivers now had to be done automatically. This presented drivers with a radically simplified surface, or 'interface' in today's jargon."

    Given this lesson drawn from history, I disagree with Seebach's conclusion that "the worst is probably over" in terms of code bloat and complexity. Computers still have a long way to go before they can approach the ease of use and stability we demand of every other consumer appliance in our lives.

    The aforementioned article requires a paid subscription to view, so in the interests of convenience, I'll reproduce it here.

    --

    SURVEY: INFORMATION TECHNOLOGY

    Now you see it, now you don't

    Oct 28th 2004
    From The Economist print edition

    [Image]

    To be truly successful, a complex technology needs to "disappear"

    THERE has never been anything quite like information technology before, but there have certainly been other complex technologies that needed simplifying. Joe Corn, a history professor at Stanford University, believes that the first example of a complex consumer technology was clocks, which arrived in the 1820s. Clocks were sold with user manuals, which featured entries such as "How to erect and regulate your device". When sewing machines appeared in the 1840s, they came with 40-page manuals full of detailed instructions. Discouragingly, it took two generations until a trade publication was able to declare in the 1880s that "every woman now knows how to use one."

    At about the same time, the increase in technological complexity gathered pace. With electricity came new appliances, such as the phonograph, invented in 1877 by Thomas Alva Edison. According to Mr Norman, the computer-design guru, despite Mr Edison's genius for engineering he was a marketing moron, and his first phonograph was all but unusable (in fact, initially he had no particular uses in mind for it). For decades, Mr Edison fiddled with his technology, always going for the most impressive engineering solution. For instance, he chose cylinders over discs as the recording medium. It took a generation and the entry of a new rival, Emile Berliner, to prepare the phonograph for the mass market by making it easier to use (introducing discs instead of cylinders) and giving it a purpose (playing music). Mr Edison's companies foundered whereas Mr Berliner's thrived, and phonographs became ubiquitous, first as "gramophones" or "Victrolas", the name of Mr Berliner's model, and ultimately as "record players".

    Another complex technology, with an even bigger impact, was the car. The first cars, in the early 1900s, were "mostly a burden and a challenge", says Mr Corn. Driving one required skill in lubricating various moving parts, sending oil manually to the transmission, adjusting the spark plug, setting the choke, opening the throttle, wielding the crank and knowing what to do when the car broke down, which it invariably did. People at the time hired chauffeurs, says Mr Corn, mostly because they needed to have a mechanic at hand to fix the car, just as firms today need IT staff and

  2. Running the Windows OS & MS Apps by Anonymous Coward · · Score: 1, Informative

    XP and MS Office 2003 chew so many resources, that my 98SE + Office 97 kicks its ass. Or even a 486 with Windows 3.11 and Office. Code optimization is a thing of the past.

  3. Re:My memory Usage by oliana · · Score: 1, Informative

    20% system
    20% various useful programs, like browsing, mail, games etc...
    60% itunes (for crying out loud, why does a 5 MB MP3 take 60+ MB of memory to play?)

    --
    In Soviet Russia, asses suck this joke.
  4. Fun fact! by Kufat · · Score: 2, Informative

    According to Task Manager, Notepad on Windows XP takes up 2,768KB of memory when you start it without a file loaded.

    Mind-blowing, isn't it? If anyone has stats for analagous programs on OS X or X, I'd be curious to see them.

    1. Re:Fun fact! by Famanoran · · Score: 2, Informative

      On my Win2k SP4 laptop, notepad uses 1,652KB memory, without a file..

      Huge difference even between Windows versions... try turning off your Windows XP themes :)

    2. Re:Fun fact! by litewoheat · · Score: 3, Informative

      That's BS. Task Manager reports peak usage. Minimise Notepad then look. It really takes 212k. Microsoft needs to get rid of Task Manager for regualar installs and jsut provdie a simple version for people who don't understand virtual memory.

      I'm sooo sick of people looking in Task Manager then saying how much an application sucks because of how much "memory" it uses. For the most part, memory is not a factor.

    3. Re:Fun fact! by litewoheat · · Score: 2, Informative

      This is the stock response we send to customers who get uppity when they play with Task Manager. I belive it was taken from Microsoft or something.

      Windows uses virtual memory. Each process has its own virtual address space which is 4GB large. The address space is split into pages 4KB large. Each page may be free (it is not backed by any real memory, access to it is invalid) or committed (there is actual memory behind it). For each committed page, there is a matching 4KB page in some file on the hard drive, usually the system paging file but may also be an executable file or some data file. Also, when the page is in use or was recently, it is matched by a page of physical memory (meaning the actual RAM chips installed on the motherboard). When a program loads, the code and data are brought into a virtual address space. Code pages are backed by the executable file itself while data pages are backed by the paging file. The reason for this is that many processes running simultaneously may use the same code (multiple instances of the same program running, or a DLL loaded into different processes), but each such process needs to have its own copy of the data. Note that when such a shared page (i.e., a page of code from an executable file) is loaded into several processes, it takes space in each process' virtual address space separately, but all of those virtual pages are mapped to the same page on disk and the same physical page (if any). When the program accesses a virtual page, the OS needs to bring the data into physical memory. If the virtual page is already backed by a physical page, nothing needs to be done. Otherwise, the page of data must be read from disk. Typically, after being thus loaded, the page remains in physical memory, in case it is needed again later. When some other (or the same) program needs to load another page and the OS detects that it is short on physical memory, it selects the physical page that was accessed most recently, saves it to the disk and reuses the memory for the new page. Note that data may stay in physical memory long after it was last used if there is enough free RAM - the OS tries to avoid slow disk access as long as possible. The working set of a process is the set of all virtual pages that are currently backed by physical pages. Working set includes both data pages (coming from the system paging file) and code pages (coming from EXE and DLLs loaded into the process). Remember that a single physical page may be part of working sets of several processes (e.g. all processes that have loaded a particular DLL). What Task Manager displays in the Memory Usage column in the Processes tab is actually the total size of the working set. It does not accurately reflect the actual memory requirements of the process for the following reasons. First, the working set contains memory pages that were used long ago, are not used currently and will be freed immediately if the OS decides it's low on RAM. Second, if a single physical page is part of the working set of two processes (as often happens with code pages), Task Manager includes it in the total for each process, so if you add up the working set size for those processes, this page will be counted twice and you will end up with a number that overestimates the actual RAM usage. This second problem heavily affects programs that use WebBrowser control. WebBrowser is a very complex piece of software - it uses lots of DLLs containing megabytes of code. All of this code is loaded into the address space of every process that uses WebBrowser, and reflects in the process' working set size. The code is never loaded twice into physical memory, though, since all those processes share the same RAM pages. In particular, since Windows Explorer and Internet Explorer both use WebBrowser internally, the code is always loaded into RAM anyway.

  5. A few things by macklin01 · · Score: 5, Informative

    Some good things that have eaten more memory and cycles (all of which have improved the user experience, as opposed to what the summary states):

    1 Programs that check your work as you go (e.g.: autocalculate on spreadsheets)

    2 More help dialogs, things watching for cameras, and whatnot to smooth the user experience.

    3 More use of IM and other software in the background much of the time.

    4 Services running so that it's faster to sort and search files, open your favorite programs, etc.

    In short, lots of stuff running to make your experience smoother, even if it doesn't look like it's doing much more.

    Some bad things:

    1 More viruses, etc.

    2 The mandantory virus scanner that has to run in the background all the time because of (1)

    3 All the crap adware that installed more than it used to be.

    These are just a few of the trends I can think of . -- Paul

    --
    OpenSource.MathCancer.org: open source comp bio
  6. uh... how many windows are open? by Hamlet+D'Arcy · · Score: 3, Informative

    Right now I have 12 windows open.

    So a lot of my cycles are going to managing my ability to work in several programs at once. My old iBook at home allows me to have all of two windows open at once... and with noticable performance drops.

    --

    If I seem short sighted, it is because I stand on the shoulders of midgets
  7. Re:My memory Usage by Naikrovek · · Score: 4, Informative

    for crying out loud, why does a 5 MB MP3 take 60+ MB of memory to play?

    because that's the size of the uncompressed waveform. You don't play the MP3, you play the waveform that is compressed inside the MP3. iTunes just decompresses the file all at once, and puts that into memory, instead of a bit at a time like some players.

  8. how short our memories are by Anonymous Coward · · Score: 1, Informative

    Anyone for audio processing?
    I remember noise algorithms taking up to 8 minutes to run against a 3 minute 16 bit 44.1khz wav win95 in 1997. On winxp today, the same operation on a 3 minute 24 bit, 48khz wav takes just under 15 seconds.

    Both operations done in cool edit, same version. Just as slow, my butt. The new versions of cool edit enjoy a similar run time.

    I challenge any one of you to pull out that old win95 PII box, and start word or internet explorer.

    I think your memory would get a bit sharper as soon as you did it.

    C'mon, computers are infinitely faster now. Maybe it's all that spyware you've installed on yourselves or something.

    l8,
    AC

  9. Re:Code Bloat by Anonymous Coward · · Score: 3, Informative

    Bloat, you say?
    Man, that word sure is thrown around a lot.
    My feeling is that the people who call
    a lot of stuff bloat are the same ones
    who view managers are useless loudmouths.

    Truly time-critical code is executing faster than
    ever. Compilers are smarter, hardware is faster,
    and development systems are cleaner.

    Programs are more featureful, intuitive, and pleasant-looking than ever. (I know, very general.)

    Then again, if you are simply one of those minimalists who thinks that everything had every feature it needed somewhere around 1993, then
    that is different. Pretty much all of that
    code still exists, and I'm sure you're happy
    to use it. I, however, would rather have
    a system that is easy on the eyes, intuitive,
    and helpful and wait an extra milisecond or so
    than feel content knowing my processor is never
    utilized more than 5%. Also, I'm sure the
    millions of people who prefer computers Just Work(tm) feel the same way.

  10. Re:Mac OS X by bynary · · Score: 2, Informative

    As a user of OS X v. 10.0, I assure you that it was an inefficient piece of crap. OS X has come a long way since it was first introduced to the public.

    --
    http://www.bynarystudio.com
  11. Re:Just look at the size of a word document today by Smidge204 · · Score: 4, Informative

    Well you have to be careful.... some file systems have minimal increments in file sizes. For example, on my NTFS formatted system, a plain text document with one "a" in it is officially 4KB, even though there is onlt one byte of data in it.

    This is not an excuse fro a BLANK MSWord document being 19,456 bytes of course. But there is "useful" data in there...

    I'm running Win2K, and if I right click on the file and sepect "Properties", there is a summary tab that displays all the info stored in that 19k. (You might have to click "Advanced")

    The data includes:
    -Title
    -Subject
    -Category
    -Keywords
    -Template name
    -Page Count
    -Word Count
    -Character Count
    -Line Count
    -Paragraph Count
    -Scale (No idea what this means)
    -"Links Dirty?" (No idea what this is... maybe it's true if there's porn links in it?)
    -Comments
    -Author (From computer info)
    -Last Saved By... (From computer info)
    -Revision Number (Number of saves?)
    -Application
    -Company Name (From registration info)
    -Creation Date (Seperate from file system creation date)
    -Last Saved Date (Seperate from file system modified date)
    -Edit time

    Now is this ACTUALLY useful? I dunno. It might be in some situations. There should be an option for not saving this metadata though, for security if not for file size.
    =Smidge=

  12. Re:Mac OS X - likewise by timothy · · Score: 2, Informative

    I've found the same -- and my iBook is 4.5 years old now, too. I was expecting the newer versions of OS X to make it choke, and justify a new one, but Nooooo ..... at least, not yet.

    timothy

    --
    jrnl: http://tinyurl.com/c2l8yr / foes: http://tinyurl.com/ckjno5
  13. I somewhat disagree.. by vertigo · · Score: 3, Informative

    I somewhat disagree with the premise of the article. 10 years ago, a barely usable word processor took 15 seconds to start up. I remember Wordperfect 6 being a terrible resource hog on my measly pc. Compare that with the load-times and responsiveness of AbiWord and a lot of progress has been made. The same with Mozilla/Firefox. Netscape 4.0 took something like a minute to load on my 386dx40/4mb iirc. Firefox takes 2 seconds (amd 1800+, 512mb) and has much more functionality. So, in my opinion, user experience of performance has improved. I think people might have forgotten how bad stuff really used to be performance-wise.

  14. Re:Just look at the size of a word document today by Trogre · · Score: 3, Informative

    Or just use a WYSIWYG LaTEX tool like this one to do all that nasty coding for you :)

    --
    "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
  15. Not to mention power consumption by pslam · · Score: 2, Informative
    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.

    Indeed - it's quite a pain trying to port bloated code to an embedded environment, even if it's nowhere near as restricted as the one you're describing. And if you're running off battery power, then every clock cycle costs you battery. It's amazing how hard it is to describe to some people how much of a problem that is. This is something that infuriated me about (for example) Vorbis - a lot of the design really doesn't permit a low footprint, so at the end of the day it's actually a rather battery expensive codec to use.

    Still, the old saying that 90% of cpu time is spent in 10% of the code holds just as true for power consumption. In my case, you optimise the MP3/WMA/Vorbis/etc decoder to its limit, and speed up disk reads (to keep it spun down as much as possible). It's due to these efforts that stuff we make (see my info) has far better battery life than rival products. And as a bonus - that also makes user visible responsiveness much better.

    Most of it's down to careful design and not micro-optimisation. It really doesn't need a smattering of assembler all over the place (but maybe a couple of functions here and there, e.g memcpy and friends). Perhaps one day people will realise this also holds true for laptops, and we'll see those cycles getting used a bit more efficiently...

  16. Re:Code Bloat by Anonymous Coward · · Score: 1, Informative

    Come again? Most PCs are shipping with 7200 RPM hard drives... sure, it's not 10K, but it is still better than 5200 RPM...

  17. Re:Just look at the size of a word document today by MegaFur · · Score: 1, Informative

    Maybe except for that they don't fucking care. Why would they? They're MS and not synonymous with efficiency.

    --
    Furry cows moo and decompress.
  18. Re:Mac OS X by mj_1903 · · Score: 4, Informative

    I think it's a bit of both.

    Apple pushed to get OS X released to the public and so they followed the belief of "make it work then optimise". Today we can see the fruits.

    An example of this is Quartz. Quartz basically had all the components you needed in 10.0 to do some great on screen rendering and it was reasonably fast. Through each iteration of Mac OS X though it has improved. In 10.1 the speed of the code was improved. In 10.2 we had partial acceleration via the GPU. In 10.3 more optimising. In 10.4 we can see they have completely pulled apart sections of Quartz and rewritten it as well as buffering it all onto the graphics card. That is but one example though, there are plenty of others.

    On the other hand, apps like iPhoto and GarageBand were really sluggish and the system reflected that. Mac users cried foul and now you have iPhoto 5 which is blazingly fast and literally all the apps have been following that trend. I know as a developer myself I spend a good 20-30% of my time optimising code simply so users get the speed that they are now used to. It's good, we needed it, especially when we were stuck on the G4's. Now with the G5's it's just icing on the cake.

  19. Re:Get a clue! by packeteer · · Score: 2, Informative

    You think marketing departments need features to sell an product. Marketing's job is to sell regardless of what they are given by the programmers, they will hype up anything. Just becuase the retail box has a giant list of features doesn't mean the program is bloated.

    --
    unzip; strip; touch; finger; mount; fsck; more; yes; unmount; sleep
  20. Re:Just look at the size of a word document today by jfengel · · Score: 2, Informative

    It will amost certainly break the format. Word is designed for processing large documents, and most of this stuff is "reserved space" where the next few thousand characters would go on a disk.

    That's what allows you to, for example, type the letter "a" at the beginning of a 2 MB document without it having to shift the position of all two million subsequent characters. It allocates that stuff several thousand bytes at a time because that means it doesn't have to do it very often.

    They figure that this 20K is just fine to waste. It costs you far less than a penny worth of disk space and improves performance. The case of a file with a single character in it is degenerate; the amount of space wasted is usually far, far less.

    Theoretically they could let you tune the constant; if it were open source I'm sure you could go into some .h file and change it. But to offer that to a user, along with the thousands of other similar options, would confuse the user without making his life noticeably better.

  21. Re:Code Bloat by iamhassi · · Score: 2, Informative
    "Disk sizes are scaling up wonderfully. Disk access speeds are not. The same holds true with RAM."

    Your hd is just a spinning disk, what did you expect, it to double speeds every 18 months? There's a limit to how fast you can spin the platters, after all how long have we been stuck at 52x CD-ROM drives? Sure they've gone to 10k rpm and the aerial density is much higher on today's large drives, but you can only do so much without new technology. They completely redesign chips every so often, from pentinum to pentium 2, 3, 4, etc, but the brand-spanking new hard drive you buy today is really no different than the a 10 year old drive, just a faster spindle speed and higher aerial density but the technology really hasn't changed any.

    Anyway back to the article: I think it's crap.
    "...most word processing programs started to keep up with even good typists somewhere around the 1-Ghz clock-speed mark."

    Um, what? Sure maybe if you had the latest and greatest OS and Office running the minimum amount of ram, but if you were running 98, office 97 and plenty of ram on even just a 200mhz no way would the PC not be able to keep up with a "good typists" (before it crashed, it is 98 after all). You know where all the cycles have gone? Background processes and spyware. I know plenty of people with brand new 3ghz processors that are slower than my 700mhz laptop. However this is a good thing, keeps all us computer geeks employeed doing simple things like running msconfig and ad-aware, so complain on computer reject cranky user!

    --
    my karma will be here long after I'm gone
  22. Simple: The Law of Diminishing Returns by rm999 · · Score: 2, Informative

    The more effort you put into something, the less additional return you will get.

    The more cycles you get from your CPU, the less additional power you will get.

    I think the main reason is that we don't need the power. The first X Mhz you put in will get grabbed up for the most important things (running the OS). The next X will be used for running the foreground program. The next X will be used for bells, whistles, to multitask, whatever. The next X will be used for - well - nothing very useful, because you are already doing everything useful.

  23. Re:My memory Usage by bill_mcgonigle · · Score: 3, Informative

    This isn't about Audio API's - it's the whole app framework. WinCarbon some call it - the portion of Carbon ported to Windows to make Quicktime work and give the Apple look-and-feel to native windows apps.

    Apple doesn't want to port every iTunes change to MFC. They write it in Carbon, keep the Windows-specific bits separate, and then just develop on Mac and recompile on Windows.

    Yes it makes iTunes heavy weight and slower and a second class citizen. But it achieves Apple's goals.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  24. Re:Change isn't always a given. by iroll · · Score: 2, Informative

    You've obviously never driven a Model-T.

    None of the pedals do what you'd expect, and there's a couple extra levers that also do seemingly random things. Tonight, if you say prayers, give a little thanks for modern transmissions and synchromesh. Trust me, they're a beautiful thing.

    --
    Repetition does not transform a lie into the truth. - FDR
  25. Re:Not Lazy. by NMEismyNME · · Score: 4, Informative

    Actually, I was stuck with a 486DX266 for quite a lot longer than I would've liked to have been. It was a brand name one from an era where brand name meant quality components instead of fake cache chips and was actually rather fast for what it was, but in order to decode an MP3 I had to use players which would allow me to decode in mono and in some cases only decode at 22050.

    This is of course long before I had ever used linux, and for all I know the experience of playing MP3s on a 486 in linux could be entirely different, but MP3s + 486 + Winblows = glitches, skips, crackles, pops and not a whole lot of CPU left to do anything else.

  26. Re:My memory Usage by Citizen+of+Earth · · Score: 1, Informative

    Top on Linux:

    6282 bubba 15 0 62792 7380 5048 S 1.4 6:20 0.3 xmms --sm-client-id 11

    XMMS uses 62MB of virtual memory to play a small MP3.

  27. Re:Just look at the size of a word document today by ph43drus · · Score: 4, Informative

    There is. I'm running Slackware 10.0 (can't wait to get my 10.1 disks! w00t!). I use vim+LaTeX for all my document prep needs on the command line (use an xterm if you so choose). As others have mentioned, LyX isn't bad.

    I'm a physics major at UW, so I do a decent bit of scientific work on my computer. I use GNUPlot, XFig and the Gimp to generate drawings for lab reports and whatnot.

    I'm typing this from Firefox running on the Xorg6.7.0 server+WindowMaker 0.91. The key here is to use a lightweight window manager. Blackbox and fluxbox are other good choices (light, usable, not fugly (cough, fvwm, cough)). If you have to have that desktop environment, go with Xfce.

    The only gap that I occasionally feel in my user experience is a good spreadsheet. I haven't found one. KSpread, OpenOffice Calc and Gnumeric either are or require the use of heavy GUI software which we are trying to avoid (KDE and Gnome are not as big as XP, but far too big to run comfortably on my system). I've glanced at Siag, but haven't really tried it out (I don't know scheme and don't have the time to figure it out right now--see physics undergraduate work).

    I use mutt or pine, depending on which email address I'm checking. Thunderbird looks promising for being light and good, if you want a GUI based email client.

    Recompile your kernel to match your hardware (trim the fat and optimize for your processors), and turn off any extra servers that you don't need (don't need telnetd, ftpd, &c. running? Turn off inetd--it's also more secure). Customize your boot sequence to only start and load that which your system needs and those things which you use.

    I also boot to the command line and don't run xdm or the like. I do a lot of work from the command line, and X+light WM doesn't take long to start. It is, again, one less thing wasting clock cycles on my machine.

    For reference, I'm running my Slack 10 system on an Abit BP6 with two PIII 866MHz processors underclocked to 650MHz (long story... Has to do with the fact that the BP6 doesn't technically support the PIII). I've got 384MB of RAM and a GF4 video card. It is lightning fast. The only exception to this is when I'm running X with the closed nVidia drivers (damn thing has a 3MB kernel module... grrr...), but that only adds a hang of a couple seconds when switching between X and the consoles, and that's it. If I'm not playing Quake or dealing with 3D visualization stuff, I can use the OSS driver (2D accel only), and get rid of even that performance problem.

    So, yes, the middle ground is there, and it rocks. My computing experience is awesome, my slightly dated hardware is rock solid and perfectly responsive. Take a good, customizable Linux distribution, run light weight software, turn off stuff in the background and run a lean, mean, customized kernel, and you'll reclaim those lost cycles as interface responciveness. I suggest Slackware for this. FreeBSD, Debian, and any other Linux distro which is aimed at power-users will be good for setting up a configuration like this.

    Mandrake, RHAT (RHEL & Fedora), SuSE and any other user-friendly type distro is ill-suited to this, IMO. Not that you can't, but my experience with these distros and their high-level admin tools is that if you try to do something too different from the default, it gets extra hard. So, Slackware and the like just end up being simpler, and now you know what Slack users mean when they say "it's simple." So stop giving us funny looks when we say it.

    Jeff

  28. Re:What about.... by lakeland · · Score: 2, Informative

    You totally missed the point.

    The latest 3D shooter was really pushing the limits of technology, frequently slowing to a crawl on an ordinary PC when there were lots of monsters in sight. What year was this? Well, it could be last month with halo 2. Five years ago with Quake 2, ten years ago with doom, or fifteen years ago with Wolfenstein. Yes, in the last 15 years, first person shooters haven't got any faster. Of course, my memory of dates is a little rusty, but I recall Wolf3d running just fine most of the time on my flash 386DX/40, though it didn't cope with more than 6 enemies at once. We've gone forward fifteen _years_ and now doom 3 runs just find on my XP 2600+ but doesn't cope with more than 6 enemies at once.

    Now, nobody is trying to claim wolf dprd is much as doom is doing, but the guy sitting there with the stopwatch could easily say things haven't got any faster in fifteen years. Similarly, load times have barely improved in fifteen years -- you try loading an old version of excel on a 486 with plenty of ram. Now do it on a brand new box with plenty of ram. The new box is about twice as fast. So in ten years, we've just managed to double real speed.

    Returning to your calculation, if you had that G5 a few years ago, I bet you'd have calcuated something more complex. The time things take bears much more resemblence to what we'll put up with than to anything else. I've had the most weird experience of this on my current project. It was started in 1998 and while most of the code has been replaced over the years, there is still a fair amount of code in use that was written in '99. Now, back in '99, the computer I was using was slower than my current one and so I wrote progress bars and the like. If I run the system now, you see those progress bars zip across in minutes. Then you come to the bits of code that were written in 2001 and the progress bars go across fairly swiftly. Then you come to the bits written in 2004 and the progress bar takes a day (almost as bad as the 1999 bar did in 1999).

    So, have I forgotten how to code like I did in '99? No, just my expectations of what I can do have increased and the latter stages of the program are far more ambitious. Similarly, the people working on Excel 2005 will be concentrating on making it that much easier to use, and just like every generation before them, they'll measure CPU performance in seconds rather than in clock cycles. A better usability rating in the twice time is unacceptable, but a better rating in twice the clock cycles is a huge win (two years apart, naturally).

  29. Re:Code Bloat by tim256 · · Score: 2, Informative

    Disk access speeds are not directly proportional to the RPM of a drive. If a larger capacity hard drive and a smaller capacity hard drive are phyically the same size and spin at the same speeds, the larger capacity drive will be faster. The sectors are just physically smaller. Therefore, disk access speeds are actually faster for larger capicity drives. If you do a benchmark you will find this to be true, as the physical size of the disks from 1998 to now are about the same.

    Although if disk capacity is gained by adding platters (disks), you won't see a performance gain. The number of heads labeled on the hard drive is usually directly proportional to the number of platters. If you compare the number of heads on a disk made in 1998 and a disk made in 2005, probably the number of heads has not changed a lot. A benkmark is the best way to see that disk access speeds are always increasing.

  30. Re:Certainly not me :-) by KiltedKnight · · Score: 2, Informative
    He wasn't wasting the money. He's been going through so much code that was poorly written to begin with, takes hours to run, and has to upgrade its functionality.

    During all that time, he's cut run times by at least 50%. He's working for a non-profit, and they don't necessarily have the money to spend on new hardware.

    You have fallen into the trap. You are failing to account for the amount of computing time that can be saved. If you can cut the run time of a program in half, there's that much more computing time and power available. Do it to several programs, and you can find yourself with several extra hours of computing time. What you propose is that every time you need to improve your run times, you have to spend an extra $200+. What he did was he cut out the need to continuously spend extra money per the Wintel methodology.

    He's trying to weed out the modern day "programmers" who don't know why you should declare doubles before longs and floats, longs and floats before ints and pointers, ints and pointers before shorts, and shorts before chars.

    I put it to you thusly: he's trying to save money in the long term, while you're being penny-wise and pound-foolish.

    --
    OCO is Loco
  31. Some small things to do - Win XP by guacamolefoo · · Score: 2, Informative

    1. Control Panel:Display:Appearance:Effects -- turn stuff off.

    2. Control Panel:Mouse:Pointers -- turn shadow off

    3. Leave the desktop blank

    4. Run: services.msc -- turn stuff off (Themes, indexing, other items you do not need -- be careful -- here there be dragons)

  32. Re:Just look at the size of a word document today by Defiler · · Score: 3, Informative

    He meant "C+@", not "C@+":
    Google Search with some hits

  33. Re:The fastest system I ever owned... by drsmithy · · Score: 2, Informative
    A disk cache allows the machine to have more 'virtual' RAM than the machine physically contains

    No, a disk cache keeps frequently accessed data on permanent storage in RAM to make it quicker to access.

    What you buy from the RAMdisk is fast startup of any apps located in ram.

    Right, so you optimise the operation you'll only ever be performing *once* for the whole time you're using the app by wasting memory it could be using to do whatever it is that it does.

    Have you ever heard of "optimise for the common case" ?

    Of course, now you have two copies of the application in RAM - one on the RAMdisk, and one in system RAM executing - so you pay in RAM for what you gain in speed.

    Yes, and this is why (modern) disk caches and RAM disks are basically the same thing. A RAM disk makes accessing the app's data - executable,m libraries, etc - faster by copying it into RAM and executing it from there. But this us *also* exactly the same thing a disk cache does. So, you're sacrificing *twice* as much RAM as you need, just to make starting an application up faster (probably the most infrequent operation you'll ever perform within each application).

    Not to mention the time you use "precharging" the RAM disk is going to be *at best* the same amount of time you use starting the application for the first time and letting the disk cache do its work.

    You really need to read up on how disk caching works - there's a very good reason RAM disks aren't used much any more (there are a few - very few - situations where they can offer benefit, but optimising application startup times isn't one of them) and that's because on modern systems, disk caching gives a much bigger overall performance boost.

  34. Re:Not Lazy. by mattgorle · · Score: 2, Informative

    I started running Linux on my 486DX2/66 (became a DX4/100) in '97 and my impression of mp3 playback (using mpg123, iirc) was that I had a decidedly better experience under Windows using winamp. Put simply, I had to convince the player to decode to 22KHz mono when running under Linux and I could run stereo 44KHz with winamp.

    Still, I suppose it may have been a soundcard (Yamaha opl3-sa3, iirc) and drivers issue?

    --
    Slackware user since 1997.