Two Guys Arguing

Norvig Wants To Know

Posted in hardware by youngnh on 03.03.09

Peter Norvig, the Director of Research at Google and all-around AI guru, has an article floating around on the interwebs which you may have heard of: Teach Yourself Programming in Ten Years.  As near as I can tell, I’m in year 6 of 10 and intensely interested in knowing how I rank among my peers.  Norvig asks a handful of questions that a programmer should know about the hardware he’s working on.  As I am also mildly interested in world-domination, I’d add that each of these should be answered for every programmable processor currently available to you, I’m just trying to get a tally on the current and future hardware costs something like world-domination is going to incur.

  1. How long does it take for your processor to execute an instruction?
  2. How long does it take for your processor to fetch a word from memory with a:
    1. cache hit
    2. cache miss
  3. How long does it take to read consecutive words from your hard disk?
  4. How long does it take to seek a new location on your hard disk?

I think that a inventory of currently available programmable platforms and the answers to these questions for each should be a good baseline for discussing how to write kick-ass programs that run as fast they possibly can.

Tagged with:

3 Responses

Subscribe to comments with RSS.

  1. benjaminplee said, on 03.04.09 at 12:44 am

    The time it takes a language/platform to execute basic operations is very important for making blazing code. I agree. However, given that most code is written in high level languages with levels of abstraction upon levels of abstraction, at some point run time optimizations and the like can and will play very important aspect of how fast the code runs over a longer period oftime. Granted, even on these platforms and with the abstracts if enough time was taken, the code could be optimized … just depends if its worth the time to optimize it.

    Sadly, I downloaded a graphical operating system (can’t remember the name) that had been written from the ground up in assembler …. it wasn’t as blindingly fast as I would have hoped. But, it was also running in a vm and I didn’t play around with it long.

    Interesting post.

    My team came in second in the college AI course Connect4 tourney I mentioned in a previous comment based solely on the fact that we took the instructors naive “this should get you started but don’t use this approach” AI and optimized it in every way possible to the point where it could look several moves ahead farther than the competition in the 1 minute limit. It was dumb, but it sure was fast.

  2. cpuspeed « Two Guys Arguing said, on 03.06.09 at 3:59 am

    […] By youngnh Categories: Uncategorized While putting together my answers for all of the computing power currently available to me, I came across something interesting. My […]

  3. Inventory « Two Guys Arguing said, on 03.17.09 at 2:59 pm

    […] Inventory By youngnh Categories: hardware I wanted to catalog my currently available programmable processing power, eventually satisfying the questions that Norvig Wants to Know: […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s