Wait States

Every so often there's a need to move and transform a great deal of data for the day job. This was certainly the case earlier in the week when 15GB of compressed database backups were pulled in from a couple of locations and restored to the main development machine. Fully expanded the files worked out to about 91GB of data in total. This isn't an excessive number by modern standards, but it is a large enough quantity of 1s and 0s that some patience was needed before I could actually get to the task that required this data. Fortunately technology has consistently progressed to the point where our computers are rarely bound to a single task, but this rare need to wait 90 minutes for a pair of databases to finish restoring had me thinking about how often we had to wait when using computers 20 years ago.

Back in 2000 I had a custom-built workstation with a pair of 1.0GHz Pentium 3 processors, 512MB of RAM, 120GB of spinning disk storage, RAID controllers, a decent Radeon video card with 64MB RAM, a SoundBlaster that was powerful enough to decode MP3s in real-time to completely take the load off the Pentium chips, and a bunch of other hardware that ensured the bank account stayed as close to empty as possible without dipping into the red. The machine was used for everything from gaming to database work to software development (for Windows and PalmOS) to messing around on IRC. It was the most potent and capable computer I had ever used up to that point, and would hold that title until 2006 when I started using Xeon-powered servers at the day job. Looking back, even with the rose-coloured glasses, there was certainly a great deal of time every day where I would be sitting in front of that powerful workstation while waiting for it to complete a task.

Booting into Windows 2000 took a couple of minutes. Launching VisualStudio 6 took a minute or so, then another minute or two to open the project I was working on. Compiling code would take at least a minute, sometimes longer. When gaming, a level change could take a minute. Downloads across the local network measured in the thousands of kilobytes per second while anything coming from the Internet trickled in at several dozen kilobytes per second. Waiting was a natural expectation when working with computers.

Current machines are magnitudes faster than the computers from the turn of the century and waits are generally measured in fractions of a second. Every so often, though, we need to afford some time so a task can be completed. During these moments I like to think back to the computers of yesteryear and wonder just how long it would take them to process the same workload.

Ninety-one gigabytes of data for a pair of MySQL database restorations? On the dual-PIII workstation from 2000, it would likely take an entire long weekend.