{"id":25950,"date":"2016-03-17T10:35:36","date_gmt":"2016-03-17T08:35:36","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=25950"},"modified":"2016-03-17T10:35:36","modified_gmt":"2016-03-17T08:35:36","slug":"latency-numbers-by-year","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2016\/03\/17\/latency-numbers-by-year\/","title":{"rendered":"Latency numbers by year"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>Last year I came across a nice chart of <a href=\"https:\/\/mamchenkov.net\/wordpress\/2015\/09\/11\/latency-numbers-every-programmer-should-know\/\">latency numbers every programmer should know<\/a>. \u00a0Today, I saw <a href=\"http:\/\/www.eecs.berkeley.edu\/~rcs\/research\/interactive_latency.html\">this page<\/a>, which shows you the same latency numbers, but also provides a timeline from 1990 to 2020.<\/p>\n<p>For some operations, latency is constant, because it&#8217;s based on things of nature &#8211; speed of light, distance between continents, etc. \u00a0For other operations, latency can be decreased through better technology and algorithms.<\/p>\n<p>The timeline clearly shows the mind-blowing advance we&#8217;ve experienced in technology over the last three decades.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Last year I came across a nice chart of latency numbers every programmer should know. \u00a0Today, I saw this page, which shows you the same latency numbers, but also provides a timeline from 1990 to 2020. For some operations, latency is constant, because it&#8217;s based on things of nature &#8211; speed of light, distance between &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2016\/03\/17\/latency-numbers-by-year\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Latency numbers by year<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Latency numbers by year #programming #WebDev #performance #history","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,18,62],"tags":[286,246,1057,1330],"keyring_services":[],"class_list":["post-25950","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","tag-history","tag-optimization","tag-performance","tag-web-development"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":24721,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/09\/11\/latency-numbers-every-programmer-should-know\/","url_meta":{"origin":25950,"position":0},"title":"Latency Numbers Every Programmer Should Know","author":"Leonid Mamchenkov","date":"September 11, 2015","format":false,"excerpt":"I'm saving this here for current and future generations of programmers: This is a copy-paste of this gist, referenced from this blog post. Read and share both, for the better world.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"latency","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/09\/latency-500x250.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":28048,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/10\/04\/optimizing-web-servers-for-high-throughput-and-low-latency\/","url_meta":{"origin":25950,"position":1},"title":"Optimizing web servers for high throughput and low latency","author":"Leonid Mamchenkov","date":"October 4, 2017","format":false,"excerpt":"Dropbox Tech Blog has this in-depth article on \"Optimizing web servers for high throughput and low latency\".\u00a0 It goes over everything from hardware and low level operating system stuff all the way up to the application level. Great job, guys!","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/10\/flame-graph-500x243.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":22383,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/08\/14\/q-tool-for-making-and-composing-asynchronous-promises-in-javascript\/","url_meta":{"origin":25950,"position":2},"title":"q &#8211; tool for making and composing asynchronous promises in JavaScript","author":"Leonid Mamchenkov","date":"August 14, 2014","format":"link","excerpt":"q - tool for making and composing asynchronous promises in JavaScript If a function cannot return a value or throw an exception without blocking, it can return a promise instead. A promise is an object that represents the return value or the thrown exception that the function may eventually provide.\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":48,"url":"https:\/\/mamchenkov.net\/wordpress\/2002\/05\/15\/hacking-red-hat-cds\/","url_meta":{"origin":25950,"position":3},"title":"Hacking Red Hat CDs","author":"Leonid Mamchenkov","date":"May 15, 2002","format":false,"excerpt":"Still playing with Red Hat Linux 7.3. By now I have managed to fit it on the single CD (650 MB). Anaconda (installation program) got me pulling hair out of my head though. First, I have no prior experience with Python. Second, after I checked it out, I think I\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":18411,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/06\/28\/google-adds-quic-protocol-to-latest-chrome-build-delivering-http-over-udp\/","url_meta":{"origin":25950,"position":4},"title":"Google adds QUIC protocol to latest Chrome build, delivering HTTP over UDP","author":"Leonid Mamchenkov","date":"June 28, 2013","format":"link","excerpt":"Google adds QUIC protocol to latest Chrome build, delivering HTTP over UDP Here are the QUIC highlights Google wants to emphasize right now: High security similar to TLS. Fast (often 0-RTT) connectivity similar to TLS Snapstart combined with TCP Fast Open. Packet pacing to reduce packet loss. Packet error correction\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":45,"url":"https:\/\/mamchenkov.net\/wordpress\/2002\/04\/30\/hacking-kickstart-and-amanda-more\/","url_meta":{"origin":25950,"position":5},"title":"Hacking kickstart and amanda. More.","author":"Leonid Mamchenkov","date":"April 30, 2002","format":false,"excerpt":"Today and yesterday I am playing with Red Hat installation program amanda, kickstart and several other tools. My current goal is to learn how to modify Red Hat installation disks in order to create customized installation CDs for our environment. Basically, it will come down to installing of all updates\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/25950","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=25950"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/25950\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=25950"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=25950"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=25950"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=25950"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}