efficiency

wallets

Optimizing Your Wallet

If we geeks obsessively optimize what's on our keychain, we'd be remiss if we didn't also obsessively optimize that other item most geeks carry around – our wallet. My current Tumi wallet was almost 10 years old and starting to show its age. While I

By Jeff Atwood ·
Comments

productivity

Sharpening the Saw

As a software developer, how do you sharpen your saw? Sharpening the saw is shorthand for anything you do that isn't programming, necessarily, but (theoretically) makes you a better programmer. It's derived from the Covey book The 7 Habits of Highly Effective People. There's

By Jeff Atwood ·
Comments

data structures

Hashtables, Pigeonholes, and Birthdays

One of the most beloved of all data structures in computer science is the hash table [http://en.wikipedia.org/wiki/Hash_table]. > A hash table is a data structure that associates keys with values. The primary operation it supports efficiently is a lookup: given a key (e.g.

By Jeff Atwood ·
Comments

hardware

Upgrading to a High Efficiency Power Supply

In When Hardware is Free, Power is Expensive, I referenced a Google whitepaper (pdf) that explained why typical PC power supplies are not particularly efficient: Most likely, the computer you're using wastes 30-40% of the electrical power it consumes because it is using an inefficient power supply. It&

By Jeff Atwood ·
Comments

cuda

Folding: The Death of the General Purpose CPU

A few recent articles have highlighted the disproportionate contribution Playstation 3 consoles are making to the Folding@Home effort. The OS statistics page for Folding@Home tells the tale:  TFLOPSActive CPUsTotal CPUs Windows152160,1731,626,609 Mac/PPC78,77695,435 Mac/Intel92,8647,400 Linux4325,239216,067 GPU437332,228 PS365926,

By Jeff Atwood ·
Comments

optimization

Why aren’t my optimizations optimizing?

We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. – Donald Knuth Michael Teper’s blog has a great post about a bread and butter optimization scenario involving string replacement. After implementing three logical alternatives, Mike looks at the benchmark

By Jeff Atwood ·
Comments