计算机工程师分级

In 2010, Jeff Dean from Google gave a wonderful talk at Stanford that made him quite famous. In it, he discussed a few numbers that are relevant to computing systems. Then Peter Norvig published those numbers for the first time on the internet.

2010年,来自Google的Jeff Dean在斯坦福大学进行了精彩的演讲,这使他颇有名气。 在其中,他讨论了一些与计算系统有关的数字。 然后,彼得·诺维格(Peter Norvig)首次在互联网上发布了这些数字。

Time passed, and the numbers changed. Here is a very good interactive web UI of those numbers which roughly tells how much they have changed over the years as a function of time.

时间过去了,数字改变了。 这是一个很好的交互式Web UI ,其中包含这些数字,可以粗略地说明这些年来这些数字随时间变化了多少。

This article is not only a compilation of Jeff Dean's estimated data, but rather it brings together all such numbers from different sources. This should help you as a system designer and architect. While designing, you can use these numbers to estimate the amount of resources your system needs.

本文不仅是杰夫·迪恩(Jeff Dean)估计数据的汇编,而且还汇集了来自不同来源的所有此类数据。 这应该可以帮助您作为系统设计师和架构师。 在设计时,您可以使用这些数字来估计系统所需的资源量。

粗略估算2019年的延迟数据: (Rough estimation of latency data for 2019:)

  1. L1 cache reference: 1 nanosecond.L1缓存参考:1纳秒。
  2. L2 cache reference: 4 nanoseconds.L2缓存参考:4纳秒。
  3. Mutex Lock / Unlock: 17 nanoseconds.互斥锁/解锁:17纳秒。
  4. Main memory / RAM reference: 100 nanoseconds.主内存/ RAM参考:100纳秒。
  5. Compress 1 KB with Zippy (currently called Snappy): 2000 nanoseconds or 2 microseconds.

    使用Zippy(当前称为Snappy )压缩1 KB:2000纳秒或2微秒。

  6. CPU branch mispredict: 3 nanoseconds.

    CPU分支预测错误 :3纳秒。

  7. Solid State Drive (SSD) random read: 16 microseconds.固态硬盘(SSD)随机读取:16微秒。
  8. Disk (Hard drive / magnetic drive) seek: 3 milliseconds.磁盘(硬盘驱动器/磁性驱动器)搜寻:3毫秒。
  9. Read 1,000,000 bytes sequentially from main memory: 4 microseconds.从主内存顺序读取1,000,000字节:4微秒。
  10. Read 1,000,000 bytes sequentially from SSD: 62 microseconds.从SSD顺序读取1,000,000字节:62微秒。
  11. Read 1,000,000 bytes sequentially from disk: 947 microseconds.从磁盘顺序读取1,000,000字节:947微秒。
  12. Round trip network request in same data centre : 500 microseconds.同一数据中心的往返网络请求:500微秒。
  13. Send 2000 bytes over commodity network: 62 nanoseconds.通过商品网络发送2000字节:62纳秒。

有效负载通过TCP传输所花费的时间: (Time Taken for payload to travel over TCP:)

Here is the amount of time required to transmit various data payloads on typical cell networks around the world assuming no data loss.

假设没有数据丢失,这是在世界各地的典型蜂窝网络上传输各种数据有效载荷所需的时间。

RTT — Round Trip Time — Total time taken for a data packet (bunch of data bytes) to travel from sender to receiver and receiver to sender over the network. In short, it’s called Ping time.

RTT —往返时间—数据包(数据字节束)在网络上从发送方到接收方以及从接收方到发送方传播所花费的总时间。 简而言之,称为Ping时间。

  1. Transfer of 1 byte to 13,000 bytes (roughly 13 KB) data takes 1 round trip or 1 RTT. Rough time taken — USA: 150 milliseconds, India: 1200 milliseconds, Brazil: 600 milliseconds.1字节到13,000字节(约13 KB)的数据传输需要1次往返或1次RTT。 花费的时间:美国:150毫秒,印度:1200毫秒,巴西:600毫秒。
  2. 13,001 bytes — 39,000 bytes (13 KB to 39 KB) takes 2 RTT. Rough time taken — USA: 300 milliseconds, India: 2400 milliseconds, Brazil: 1200 milliseconds.13,001字节-39,000字节(13 KB至39 KB)需要2个RTT。 花费的时间:美国:300毫秒,印度:2400毫秒,巴西:1200毫秒。
  3. 39,001 bytes — 91,000 bytes (39 KB to 91KB) takes 3 RTT. Rough time taken-USA: 450 milliseconds, India: 3600 milliseconds, Brazil: 1800 milliseconds.39,001字节— 91,000字节(39 KB至91KB)需要3个RTT。 花费的粗糙时间-美国:450毫秒,印度:3600毫秒,巴西:1800毫秒。
  4. 91,001 bytes — 195,000 bytes (91 KB to 195 KB) takes 4 RTT. Rough time taken — USA: 600 milliseconds, India: 4800 milliseconds, Brazil: 2400 milliseconds.91,001字节-195,000字节(91 KB至195 KB)需要4个RTT。 花费的时间:美国:600毫秒,印度:4800毫秒,巴西:2400毫秒。

So the greater the response size means more bytes, a longer round trip, more API latency, and ultimately a less user friendly app.

因此,响应大小越大,意味着字节越多,往返时间越长,API延迟越长,最终导致用户友好的应用程序越少。

This post will be updated when new or updated numbers are found. Please let me know if you are aware of new numbers.

找到新的或更新的号码后,该帖子将更新。 如果您知道新号码,请告诉我。

This article is originally published on Author's medium wall. If you like it, please give claps.

本文最初发表在作者的媒体墙上 。 如果喜欢,请鼓掌。

Reference:

参考:

  1. https://colin-scott.github.io/blog/2012/12/24/latency-trends/

    https://colin-scott.github.io/blog/2012/12/24/latency-trends/

  2. https://blog.std.in/2015/05/23/http-response-sizes-and-tcp/

    https://blog.std.in/2015/05/23/http-response-sizes-and-tcp/

  3. https://medium.com/@kousiknath/must-know-numbers-for-every-computer-engineer-6338a12c292c

    https://medium.com/@kousiknath/must-know-numbers-for-every-computer-engineer-6338a12c292c

翻译自: https://www.freecodecamp.org/news/must-know-numbers-for-every-computer-engineer/

计算机工程师分级

计算机工程师分级_这些是每个计算机工程师都应该知道的数字相关推荐

  1. 哪里可以培训计算机运维,临武县运维工程师培训班_郴州科泰计算机学校

    临武县运维工程师培训班,郴州科泰计算机学校,  就业保障  郴州科泰计算机学校坚持"以服务为宗旨,以就业为导向"的原则,倡导"郴州学习,全国就业"的理念,通过1 ...

  2. 大学计算机基础知识点_自学录——大学计算机基础

    昨天学习完西安交大的计算机基础,今天赶忙来知识输出,阅读本文大概需要两分钟,理解较难,但耗费本人巨量心血(本人小白,大佬请飘过) 课程:"中国大学" 主要获益有两点:(1)了解了计 ...

  3. python算法工程师书籍_我是如何成为算法工程师的,超详细的学习路线

    一.前言 各位十一过得如何? 假期,我回了趟老家,文章停更了几天. 写文章以来,被问到最多的问题就是「算法的学习路线」. 今天,它来了. 我会带着大家看看,我们需要学些啥,利用这个假期,我甚至还收集整 ...

  4. python大数据运维工程师待遇_大数据运维工程师的工作职责

    大数据需要负责公司产品的技术支持.安装调试.客户使用培训及相关硬件的安装调试.下面是学习啦小编为您精心整理的大数据运维工程师的工作职责. 大数据运维工程师的工作职责1 职责: 1.负责和参与公司大数据 ...

  5. python大数据运维工程师待遇_大数据运维工程师岗位的主要职责

    大数据运维工程师需要及时反馈技术处理过程中的异常情况,及时向上级反馈告警,同时主动协调资源推动问题解决.以下是学习啦小编整理的大数据运维工程师岗位的主要职责. 大数据运维工程师岗位的主要职责1 1) ...

  6. 成都python运维工程师待遇_什么样的运维工程师薪水较高, 你知道吗?

    曾经被无数人吐槽的程序员猿,没想到如今已经绝地大翻身了! 我们来看看BATH的工资,宝宝表示羡慕嫉妒啊! 腾讯:一般T1-T4为大岗,每一级设立3级分档.应届生年薪在16W-20万,年终奖5W左右.员 ...

  7. 广州python开发工程师招聘_【广州游戏开发工程师招聘_最新广州游戏开发工程师招聘信息】-前程无忧...

    诚伯信息有限公司广州-天河区0.6-1.5万/月12-18 学历要求:本科|工作经验:1年|公司性质:民营公司|公司规模:5000-10000人 岗位职责1.与一流的开发团队协同工作,分析游戏各种玩法 ...

  8. linux开发工程师前景_选择成为软件开发工程师的5个原因

    这个星期我将给本地一所高中做一次有关于程序猿是怎样工作的演讲.我是志愿(由 Transfer 组织的)来到这所学校谈论我的工作的.这个学校本周将有一个技术主题日,并且他们很想听听科技行业是怎样工作的. ...

  9. python全栈工程师薪水_不止 20K,Python 工程师薪资再飙升(内附转型指南)

    原标题:不止 20K,Python 工程师薪资再飙升(内附转型指南) Python 诞生之初就被誉为最容易上手的编程语言.进入火热的 AI 人工智能时代后,它也逐渐取代 Java,成为编程界的头牌语言 ...

最新文章

  1. 哑谜,回文和暴力之美
  2. 6 OC 中的isa 指针
  3. 指针在函数传参的使用
  4. 【Spring】23、ApplicationContext ,ApplicationContextAware,Listener,Event 的关系解读
  5. 图解classloader加载class的流程及自定义ClassLoader
  6. Java实现算法导论中反复平方法模取幂
  7. 数据结构与算法 / 冒泡排序及其优化的三种方式
  8. linux idc账号,快速安全地建立Linux用户账户
  9. 自动化运维之部署Puppet
  10. TTL转485电路设计
  11. 不再为 Node.js 模块自动引入 Polyfills
  12. 怎样检查c语言程序的问题,C语言陷阱与技巧第24节,做代码选择,不一定都要使用 if 判断的...
  13. 新闻管理系统——项目介绍+前期部署
  14. VMware中Linux网络配置
  15. noip2017广东提高组复赛成绩
  16. Dva 的connect使用
  17. webstorm在哪里设置Ctrl+鼠标滚轮缩放界面大小教程
  18. 自定义Android聊天气泡ChatView。仿微信聊天气泡,能自定义边框,颜色,点击特效。
  19. VIL100数据集处理
  20. Tushare安装使用经验分享

热门文章

  1. 函数sigqueue
  2. 大厂架构师经验分享!成功跳槽字节跳动
  3. 终于有人把安卓程序员必学知识点全整理出来了,送大厂面经一份!
  4. mysql oracle 表空间大小_最简单的查询表空间的使用量、剩余量的方法 - Focus on Oracle、MySQL and GNU/Linux...
  5. windows2000 ,windowsXP和windows2003共享页面文件
  6. NOI 2016 优秀的拆分 (后缀数组+差分)
  7. DataGridView控件用法二:常用属性
  8. void ,NULL与0的区别联系
  9. 努力做一名认真踏实的工程师
  10. SOAP 1.1 - 学习