In 2007 I wrote about using PNGout to produce amazingly small PNG images. I still refer to this topic frequently, as seven years later, the average PNG I encounter on the Internet is very unlikely to be optimized.
For example, consider this recent Perry Bible Fellowship cartoon.
Saved directly from
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
I'll just come right out and say it: I love strings. As far as I'm concerned, there isn't a problem that I can't solve with a string and perhaps a regular expression or two. But maybe that's just my lack
Now that Virtual PC is finally free, I've become obsessed with producing the smallest possible Windows XP Virtual PC image. It's quite a challenge, because a default XP install can eat up well over a gigabyte. Once you factor in the swapfile and other overhead, you&
In my previous entry on the real cost of performance, there were some complaints that my code’s slow and it sucks. If I had a nickel every time someone told me that, I could have retired years ago. Let’s take a look at the specific complaint that the
I’ve often said that game development is the most difficult kind of software development. It tends to be very low level coding, on unusual hardware platforms, and you have to constantly optimize for performance and “fun” – whatever that may be. Consider the complexity of one small facet of game
Scott Hanselman continues to impress with his consistently useful blog entries, this time an observation about performance. I found an even more interesting link buried in the comments, though: the Eric Lippert post, How Bad is Good Enough?
I’ve read articles about the script engines that say things like
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