A factor of a thousand: five general-interest notes on hardware performance
"Smart Development" frequently mentions performance considerations--just in the last week, speed-ups for Python and PDF caught my eye. I've also collected a handful of write-ups on the performance of hardware, all of which are well-written and pertinent enough to interest software developers:
- Any announcement by the ever-creative Chuck Moore is worth a read. This one promises production availability of a highly-asynchronous, energy-thrifty, 100 billion operations-per-second wonder. While I have no doubt that Moore himself is the only one who'll be able to get this marvel to do all it should, I'd love to try.
- You've noticed that voltage levels in common chipsets are dropping. How much can that gain us? Eli Yablonovitch lucidly outlines the physics with the potential for the next three orders of magnitude. While video presentations rarely "work" for me, this one is a pleasure.
- A third kind of not-just-faster-but-lower-in-power approach is that of IBM's Cell and now Kilocore. The buzzword here (at least for now) is "reconfigurable computing". Even if you think this kind of hardware has no direct impact on the software you write, it'll change the envelope of what's feasible, and your projects are likely to shift even farther in the direction of mobility, pervasive computing, multimedia, and massive data reductions.
- Concurrency and thrift also show up all the way on the other side of computing, in the Arduino.
- My new favorite blog is "Programming in the 21st Century": it's an index of James Hague's acuity that he, for example, successfully and succinctly makes a case for "Optimizing for Fan Noise".