efficiency

Optimizing Your Wallet

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 never had an

By Jeff Atwood ·
Comments
Sharpening the Saw

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 a guy who

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