Post date: Oct 07, 2011 8:6:15 PM
Part Zero: The Antediluvian Version?
Part One: The Original
Teach Yourself Programming in Ten Years by Peter Norvig
Remember that there is a "computer" in "computer science".
Know how long it takes your computer to
execute an instruction,
fetch a word from memory, with and without a cache miss,
read consecutive words from disk, and ]seek to a new location on disk.
Answers
Approximate timing for various operations on a typical PC:
Part Two: Updated Version
by Jeff Dean Computing Performance "Numbers Everyone Should Know".
Where
1 ns = 10-9 seconds
1 ms = 10-3 seconds
Also see: Slides #1 (Stanford) and Slides #2 (Cornell 2009).
Found via Quora: What are the numbers that every computer engineer should know according to Jeff Dean.
Part 3: Miscellania
For more good work by Jeff Dean, in the specific context of his employer (at the time, perhaps now) see Underneath the covers at Google: Current systems and future directions, presented at Google I/O 2008. Petru Paler's blog post (June 16, 2008) analyzed that same presentation. Two final documents for those wishing to know more basics are
Serious: What every computer scientist should know about floating-point arithmetic by David Goldberg, published in the March, 1991 issue of Computing Surveys (ACM).
Less serious: The Case of the 500 Mile Email, by Trey Harris. With follow-up FAQ's, or more accurately, "the answer key".
Footnote: I think that Trey Cuthrell was asking or trying to answer a similar very basic question, along the lines of "Important numbers in systems administration" on Quora, although it went unnoticed by all, including myself, until after the fact. See