5 ms·
More about programming than computer science, but it does talk a lot about and show some custom algorithms (it's more about programming-in-the-small, though it
by vram22 10y ago
More about programming than computer science, but it does talk a lot about and show some custom algorithms (it's more about programming-in-the-small, though it does talk about some big picture too), also it is old and out of print (last I checked), but I thought it was really good when I bought and read it, so mentioning it:
Writing Efficient Programs
Also has a great bunch of "war stories" about performance tuning in real-life, including one in which people, IIRC, improve the performance of quicksort on a supercomputer by 1 million times or some such, by working on tuning as well as architecture and algorithms at several levels of the stack, from the hardware on upwards.
by:
https://en.wikipedia.org/wiki/Jon_Bentley_(computer_scientist) https://en.wikipedia.org/wiki/Jon_Bentley_(computer_scientis...
Edited to change Wikipedia URL to more specific one.
- Pamar 10y agoDespite its age, I think it is still very worthwhile, just like Programming Pearls.
- vram22 10y agoYes, and the same goes for More Programming Pearls - all 3 by Bentley (for those who don't know).
- dgquintas 10y agoIt seems an earlier related draft (s/Programs/Code) is available at http://repository.cmu.edu/cgi/viewcontent.cgi?article=3435&context=compsci http://repository.cmu.edu/cgi/viewcontent.cgi?article=3435&c...
- vram22 10y agoCool, thanks. Will check it out.
- dfan 10y agoWhen I started coding for a living in the early 1990s (in an environment where efficiency was paramount), Writing Efficient Programs was gold. I still have it, and I'm glad that to see that it's still valued.
- vram22 10y ago> (in an environment where efficiency was paramount), Writing Efficient Programs was gold. I still have it, and I'm glad that to see that it's still valued. Interesting to know, and agreed. The book even has a list of thumb rules for the various kinds of optimizations it describes, with guidelines on when each one is appropriate to use or not (as you would know, having read it). Great writing throughout, too. Loop unrolling (for both fixed- and variable-length loops) was one among the many cool ones.