Performance numbers every programmer should know

I just found these “Numbers every programmer should know” in an email I sent to myself a few years ago. I don’t remember the original source of the content, but I know they come from a talk titled “Building Software Systems at Google and Lessons Learned”, by a person named Jeffrey Dean, at Stanford:

L1 cache reference                         0.5 ns
Branch mispredict                            5 ns
L2 cache reference                           7 ns
Mutex lock/unlock                           25 ns
Main memory reference                      100 ns
Compress 1K bytes w/ cheap algorithm     3,000 ns
Send 2K bytes over 1 Gbps network       20,000 ns
Read 1 MB sequentially from memory     250,000 ns
Round trip within same datacenter      500,000 ns
Disk seek                           10,000,000 ns
Read 1 MB sequentially from disk    20,000,000 ns
Send packet CA->Netherlands->CA    150,000,000 ns

The Sencha ExtJS definition of success

One of the most important things I’ve read in the book, Mastering ExtJS, is this: “For ExtJS, success is when the server returns a response, and failure is when the server returns an HTTP error status.” So if the server returns some form of ‘success’ -- regardless of what its JSON looks like -- ExtJS will think of the transaction as a success, and you should handle that in an ExtJS success function.

Upgrading a Play Framework application (to 2.2.2)

When you upgrade a Play Framework application from one version to another, such as from 2.1.x to 2.2.x, you have to update a few files. I’m currently upgrading an app from 2.1.x to 2.2.x, and had to change my project/ file to this:


I also had to upgrade my project/plugins.sbt file to this:

Syndicate content