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. 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. a person’s name), find the corresponding value

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’s

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 CPUsWindows152160,1731,626,609Mac/PPC78,77695,435Mac/Intel92,8647,400Linux4325,239216,067GPU437332,228PS365926,91129,843 There are a couple

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