Monday, May 7, 2012

Why Scalar Optimization Is Important by Richard Friedman

In this interesting article, Richard mentioned a very simple yet important Amdahl's Law. ('s_law#Parallelization)

Below is the formula.

S = T/((1-f)T+fT/N) = 1/(1-f+f/N)

He gave an example that If we can get half the executable code to run in parallel, and the other half running in one processor, what speedup can we expect on a 64–processor system?

Well, that gives a speedup S = 1.97 only!

The basic point here is that we should take the scalar latency optimization seriously when tuning the whole system. However we should not be misled by author to under estimate the importance of parallel as well for it is also important factor for another axis of the system performance measurement - throughput. Without high throughput support, low latency can be screwed while system load is heavy.

Original post of Richard is at, however it cannot be accessed or found in WWW any more. It is now collected in book "The Developer's Edge", which is an interesting book for reading.

The Developer's Edge

It is very generous that authors have published this book freely online at 

One of the author Darryl's blog address is . You can always find the correct download link there.


  1. Hi,

    I'm glad you enjoyed the blog. I'm very pleased to be able to say that The Developer's Edge is available as a free download.



  2. Hi Darryl,

    Glad that you found my posts and are cool with them. I was sometimes afraid that I might violate the copyright of the authors of the original posts.

    I am reading your interesting books Developer's Edge to look for ideas for system performance tuning at It is really great to be able to read your book offline on my kindle now.

    I noticed that you have another book "Multicore Application Programming" which is also interesting to me. I am sure I can learn many tips there as well.