Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save gustavobcx/6644fafa58e75e2340c4160ae6e79a4c to your computer and use it in GitHub Desktop.

Select an option

Save gustavobcx/6644fafa58e75e2340c4160ae6e79a4c to your computer and use it in GitHub Desktop.

Revisions

  1. @sergekukharev sergekukharev revised this gist Jan 11, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Latency Numbers Every Programmer Should Know.md
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,7 @@
    ### Latency Comparison Numbers (~2012)

    | **Name** | | | | | | | |
    | --- | --- | --- | --- | --- | --- | --- | --- |
    | --- | --- | --- | --- | --- | --- | --- | --- |
    | L1 cache reference | 0.5 | ns | | | | | |
    | Branch mispredict | 5 | ns | | | | | |
    | L2 cachereference | 7 | ns | | | | | 14x L1 cache |
  2. @sergekukharev sergekukharev revised this gist Jan 11, 2019. 1 changed file with 16 additions and 15 deletions.
    31 changes: 16 additions & 15 deletions Latency Numbers Every Programmer Should Know.md
    Original file line number Diff line number Diff line change
    @@ -1,20 +1,21 @@
    ### Latency Comparison Numbers (~2012)

    | --- | --- | -- | --- | --- | --- | --- | --- |
    | **L1 cache reference** | 0.5 | ns | | | | | |
    | **Branch mispredict** | 5 | ns | | | | | |
    | **L2 cachereference** | 7 | ns | | | | | 14x L1 cache |
    | **Mutex lock/unlock** | 25 | ns | | | | | |
    | **Main memory reference** | 100 | ns | | | | | 20x L2 cache, 200x L1 cache |
    | **Compress 1K bytes with Zippy** | 3,000 | ns | 3 | us | | | |
    | **Send 1K bytes over 1 Gb ps network** | 10,000 | ns | 10 | us | | | |
    | **Read 4K randomly from SSD*** | 150,000 | ns | 150 | us | | | ~1GB/sec SSD |
    | **Read 1 MB sequentially from memory** | 250,000 | ns | 250 | us | | | |
    | **Round trip within same datacenter** | 500,000 | ns | 500 | us | | | |
    | **Read 1 MB sequentially from SSD*** | 1,000,000 | ns | 1,000 | us | 1 | ms | ~1GB/sec SSD, 4X memory |
    | **Disk seek** | 10,000,000 | ns | 10,000 | us | 10 | ms | 20x datacenter roundtrip |
    | **Read 1 MB sequentially** | 20,000,000 | ns | 20,000 | us | 20 | ms | 80x memory, 20X SSD |
    | **Send pack et CA->Netherlands->CA** | 150,000,000 | ns | 150,000 | us | 150 | ms | |
    | **Name** | | | | | | | |
    | --- | --- | --- | --- | --- | --- | --- | --- |
    | L1 cache reference | 0.5 | ns | | | | | |
    | Branch mispredict | 5 | ns | | | | | |
    | L2 cachereference | 7 | ns | | | | | 14x L1 cache |
    | Mutex lock/unlock | 25 | ns | | | | | |
    | Main memory reference | 100 | ns | | | | | 20x L2 cache, 200x L1 cache |
    | Compress 1K bytes with Zippy | 3,000 | ns | 3 | us | | | |
    | Send 1K bytes over 1 Gb ps network | 10,000 | ns | 10 | us | | | |
    | Read 4K randomly from SSD | 150,000 | ns | 150 | us | | | ~1GB/sec SSD |
    | Read 1 MB sequentially from memory | 250,000 | ns | 250 | us | | | |
    | Round trip within same datacenter | 500,000 | ns | 500 | us | | | |
    | Read 1 MB sequentially from SSD | 1,000,000 | ns | 1,000 | us | 1 | ms | ~1GB/sec SSD, 4X memory |
    | Disk seek | 10,000,000 | ns | 10,000 | us | 10 | ms | 20x datacenter roundtrip |
    | Read 1 MB sequentially | 20,000,000 | ns | 20,000 | us | 20 | ms | 80x memory, 20X SSD |
    | Send pack et CA->Netherlands->CA | 150,000,000 | ns | 150,000 | us | 150 | ms | |


    ### Notes
  3. @sergekukharev sergekukharev revised this gist Jan 11, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Latency Numbers Every Programmer Should Know.md
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,5 @@
    ### Latency Comparison Numbers (~2012)
    | **Name** | | | | | | | |

    | --- | --- | -- | --- | --- | --- | --- | --- |
    | **L1 cache reference** | 0.5 | ns | | | | | |
    | **Branch mispredict** | 5 | ns | | | | | |
  4. @sergekukharev sergekukharev revised this gist Jan 11, 2019. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions Latency Numbers Every Programmer Should Know.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    ### Latency Comparison Numbers (~2012)
    | **Name**. | | | | | | | |
    | --- | --- | --- | --- | --- | --- | --- | --- |
    | **Name** | | | | | | | |
    | --- | --- | -- | --- | --- | --- | --- | --- |
    | **L1 cache reference** | 0.5 | ns | | | | | |
    | **Branch mispredict** | 5 | ns | | | | | |
    | **L2 cachereference** | 7 | ns | | | | | 14x L1 cache |
  5. @sergekukharev sergekukharev revised this gist Jan 11, 2019. 1 changed file with 6 additions and 1 deletion.
    7 changes: 6 additions & 1 deletion Latency Numbers Every Programmer Should Know.md
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,5 @@
    ### Latency Comparison Numbers (~2012)
    | Name | a | a | a | a | a | a | a |
    | **Name**. | | | | | | | |
    | --- | --- | --- | --- | --- | --- | --- | --- |
    | **L1 cache reference** | 0.5 | ns | | | | | |
    | **Branch mispredict** | 5 | ns | | | | | |
    @@ -20,16 +20,21 @@
    ### Notes

    1 ns = 10^-9 seconds

    1 us = 10^-6 seconds = 1,000 ns

    1 ms = 10^-3 seconds = 1,000 us = 1,000,000 ns

    ### Credit

    By Jeff Dean: http://research.google.com/people/jeff/

    Originally by Peter Norvig: http://norvig.com/21-days.html#answers

    ### Contributions

    Original: https://gist.github.com/jboner/2841832

    ‘Humanized’ comparison: https://gist.github.com/hellerbarde/2843375

    Visual comparison chart: http://i.imgur.com/k0t1e.png
  6. @sergekukharev sergekukharev revised this gist Jan 11, 2019. 1 changed file with 1 addition and 3 deletions.
    4 changes: 1 addition & 3 deletions Latency Numbers Every Programmer Should Know.md
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,5 @@
    # Latency Numbers

    ### Latency Comparison Numbers (~2012)

    | Name | a | a | a | a | a | a | a |
    | --- | --- | --- | --- | --- | --- | --- | --- |
    | **L1 cache reference** | 0.5 | ns | | | | | |
    | **Branch mispredict** | 5 | ns | | | | | |
  7. @sergekukharev sergekukharev revised this gist Jan 11, 2019. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions Latency Numbers Every Programmer Should Know.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,8 @@
    # Latency Numbers

    ### Latency Comparison Numbers (~2012)

    | --- | --- | --- | --- | --- | --- | --- | --- |
    | **L1 cache reference** | 0.5 | ns | | | | | |
    | **Branch mispredict** | 5 | ns | | | | | |
    | **L2 cachereference** | 7 | ns | | | | | 14x L1 cache |
  8. @sergekukharev sergekukharev revised this gist Jan 11, 2019. 1 changed file with 7 additions and 4 deletions.
    11 changes: 7 additions & 4 deletions Latency Numbers Every Programmer Should Know.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    # Latency Numbers

    ## Latency Comparison Numbers (~2012)
    ### Latency Comparison Numbers (~2012)
    | **L1 cache reference** | 0.5 | ns | | | | | |
    | **Branch mispredict** | 5 | ns | | | | | |
    | **L2 cachereference** | 7 | ns | | | | | 14x L1 cache |
    @@ -17,16 +17,19 @@
    | **Send pack et CA->Netherlands->CA** | 150,000,000 | ns | 150,000 | us | 150 | ms | |


    ## Notes
    ### Notes

    1 ns = 10^-9 seconds
    1 us = 10^-6 seconds = 1,000 ns
    1 ms = 10^-3 seconds = 1,000 us = 1,000,000 ns

    ## Credit
    ### Credit

    By Jeff Dean: http://research.google.com/people/jeff/
    Originally by Peter Norvig: http://norvig.com/21-days.html#answers

    ## Contributions
    ### Contributions

    Original: https://gist.github.com/jboner/2841832
    ‘Humanized’ comparison: https://gist.github.com/hellerbarde/2843375
    Visual comparison chart: http://i.imgur.com/k0t1e.png
  9. @sergekukharev sergekukharev created this gist Jan 11, 2019.
    32 changes: 32 additions & 0 deletions Latency Numbers Every Programmer Should Know.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,32 @@
    # Latency Numbers

    ## Latency Comparison Numbers (~2012)
    | **L1 cache reference** | 0.5 | ns | | | | | |
    | **Branch mispredict** | 5 | ns | | | | | |
    | **L2 cachereference** | 7 | ns | | | | | 14x L1 cache |
    | **Mutex lock/unlock** | 25 | ns | | | | | |
    | **Main memory reference** | 100 | ns | | | | | 20x L2 cache, 200x L1 cache |
    | **Compress 1K bytes with Zippy** | 3,000 | ns | 3 | us | | | |
    | **Send 1K bytes over 1 Gb ps network** | 10,000 | ns | 10 | us | | | |
    | **Read 4K randomly from SSD*** | 150,000 | ns | 150 | us | | | ~1GB/sec SSD |
    | **Read 1 MB sequentially from memory** | 250,000 | ns | 250 | us | | | |
    | **Round trip within same datacenter** | 500,000 | ns | 500 | us | | | |
    | **Read 1 MB sequentially from SSD*** | 1,000,000 | ns | 1,000 | us | 1 | ms | ~1GB/sec SSD, 4X memory |
    | **Disk seek** | 10,000,000 | ns | 10,000 | us | 10 | ms | 20x datacenter roundtrip |
    | **Read 1 MB sequentially** | 20,000,000 | ns | 20,000 | us | 20 | ms | 80x memory, 20X SSD |
    | **Send pack et CA->Netherlands->CA** | 150,000,000 | ns | 150,000 | us | 150 | ms | |


    ## Notes
    1 ns = 10^-9 seconds
    1 us = 10^-6 seconds = 1,000 ns
    1 ms = 10^-3 seconds = 1,000 us = 1,000,000 ns

    ## Credit
    By Jeff Dean: http://research.google.com/people/jeff/
    Originally by Peter Norvig: http://norvig.com/21-days.html#answers

    ## Contributions
    Original: https://gist.github.com/jboner/2841832
    ‘Humanized’ comparison: https://gist.github.com/hellerbarde/2843375
    Visual comparison chart: http://i.imgur.com/k0t1e.png