每個程式設計師都應該知道的一些時間資料

2021-10-07 18:23:21 字數 1842 閱讀 2967

原文

latency comparison numbers

--------------------------

l1 cache reference 0.5 ns

branch mispredict 5 ns

l2 cache reference 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

send 1k bytes over 1 gbps network 10,000 ns 0.01 ms

read 4k randomly from ssd* 150,000 ns 0.15 ms

read 1 mb sequentially from memory 250,000 ns 0.25 ms

round trip within same datacenter 500,000 ns 0.5 ms

read 1 mb sequentially from ssd* 1,000,000 ns 1 ms 4x memory

disk seek 10,000,000 ns 10 ms 20x datacenter roundtrip

read 1 mb sequentially from disk 20,000,000 ns 20 ms 80x memory, 20x ssd

send packet ca->netherlands->ca 150,000,000 ns 150 ms

notes

-----

1 ns = 10-9 seconds

1 ms = 10-3 seconds

* assuming ~1gb/sec ssd

credit

------

by jeff dean:

originally by peter norvig:

contributions

-------------

some updates from:

great 'humanized' comparison version:

visual comparison chart:

nice animated presentation of the data:

- see more at:

譯文:

l1 cache :………………………………………………..0.5ns

branch mispredict(轉移、分支**) : ……………..5ns

l2 cache :………………………………………………… 7ns

互斥鎖\解鎖 :…………………………………………….. 25ns

1k位元組壓縮(zippy) : …………………………………….3000ns = 3us

在1gbps的網路上傳送2k位元組 : ……………………….20,000ns = 20us

ssd隨機讀 :……………………………………………..150,000ns = 150us

從記憶體順序讀取1mb :…………………………………250,000ns = 250 us

同乙個資料中心往返 :………………………………….500,000ns = 0.5ms

從ssd順序讀取1mb : …………………………………1,000,000ns = 1ms

磁碟搜尋:…………………………………………………..10,000,000ns = 10ms

從磁碟裡面讀出1mb : …………………………………..20,000,000ns = 20ms

每個程式設計師都應該知道的一些訪問時延值

from 繼續翻老文章,首先是從jeff dean的一篇ppt演示文稿中看到了這一頁,覺得對這些數值形成概念還是挺有用的,就轉過來了,經常拿出來看一下,最終能做到熟記於心,並能在理論分析和程式設計時用上。儘管是大神給出的資料,也還是想考證一下數字的出處,於是又在搜尋引擎中找了一下。找到了對這個資料比...

每個程式設計師都應該警惕的檔案上傳漏洞!!

2019年09月13日 07 30 00 菜v菜 閱讀數 4241 hack 專注於網路安全攻防黑客技術的研究及思考,帶領新手走進黑客世界的大門。檔案上傳漏洞是指網路攻擊者上傳了乙個可執行的檔案到伺服器並執行。這裡上傳的檔案可以是木馬,病毒,惡意指令碼或者webshell等。假如某 有乙個允許使用者...

每個程式設計師都應該經歷一次軟考

今天討論的問題可能會引起很多爭議,但我還是堅持做有爭議的敢說真話的人 軟考在很多各大高校裡還是比較流行的,只能說是流行而已,60 的人只是去湊熱鬧為國家軟考辦去做貢獻的,為什麼要說 每個程式設計師都應該經歷一次軟考 呢,這是源自於本人從軟考中得到的感悟吧,在園子裡很多人都是經歷過軟考的,有的人會說軟...