03 | 通过你的CPU主频,我们来谈谈“性能”究竟是什么?

什么是性能?时间的倒数

和干体力劳动很像,好比搬东西。衡量指标。

(1)响应时间(Response time)或者叫执行时间(Execution time)。让计算机“跑得更快”。性能监测工具 NewRelic 中的响应时间:每个外部的 Web 请求的执行时间

(2)吞吐率(Throughput)或者带宽(Bandwidth),提升这个指标,让计算机“搬得更多”。一定时间内,能处理多少事情。

缩短程序的响应时间,都会提升吞吐率。还可以多找几个人来搬,类似服务器都是 8 核、16 核的。

响应时间提升不容易CPU 的性能提升10 年前就处于“挤牙膏”的状态

性能 = 1/ 响应时间

Intel 最新 CPU Coffee Lake 上, 30s 运行完成, 5 年前 CPU Sandy Bridge 上, 1min 完成

手机跑分软件,把多个预设好运行,根据运行时间,算出手机的性能评估。SPEC(Standard Performance Evaluation Corporation)的第三方机构,指定各种“跑分”的规则。

SPEC 提供的 CPU 基准测试程序,就好像 CPU 届的“高考”,通过数十个不同的计算程序,对于 CPU 的性能给出一个最终评分。这些程序丰富多彩,有编译器、解释器、视频压缩、人工智能国际象棋等等,涵盖了方方面面的应用场景。

计算机的计时单位:CPU 时钟

用时间来衡量性能时,有两个问题。

(1)时间不

程序统计程序运行的时间,有可能这次 45ms,下次 53ms。

为什么会不准呢?用类似于“掐秒表”一样,时间也叫 Wall Clock,Time 或者 Elapsed Time,程序运行程序期间,钟走掉的时间。

但可能同时运行着好多个程序,CPU 实际不停地在各个程序之间进行切换。在这些走掉的时间里面,很可能 CPU 切换去运行别的程序了。而且,程序运行时,可能要从网络、硬盘去读取数据,给到内存和 CPU。所以说,要想准确统计某个程序运行时间,进而去比较两个程序的实际性能,我们得把这些时间给刨除掉

Linux  time 命令,统计实际在 CPU 上花了多少时间

第一个是real time,就是 Wall Clock Time,流逝掉的时间;

第二个是user time,CPU 在运行你的程序,用户运行指令的时间;

第三个是sys time,CPU 在运行你的程序,在操作系统内核里运行指令的时间

程序实际花费的 CPU 执行时间(CPU Time),就是 user time 加上 sys time。比 Elapsed Time 要少不少

(2)CPU 时间,不一定可以直接比较出两个程序的性能差异

同一台计算机上,CPU满载运行也可能降频运行,自然花时间多。还会受到主板、内存影响。

CPU 执行时间 =CPU 时钟周期数×时钟周期时间

1.时钟周期时间 CPU 主频: Intel Core-i7-7700HQ 2.8GHz(就是 主频Frequency/Clock Rate)。CPU 1 秒时间可执行 2.8G 条指令

晶振(晶体振荡器Oscillator Crystal):CPU 内部,和电子石英表类似。每一次“滴答”,就是时钟周期时间=1/2.8G。主频越高,走得越快。

超频:把CPU 内部钟调快,CPU也就变快。散的压力大,超过极限就崩

2.CPU 时钟周期数:减少提升性能 =“指令数×每条指令的平均时钟周期数(Cycles Per Instruction,CPI)”。

不同指令需要的 Cycles 是不同,加法和乘法都对应着一条 CPU 指令,但是乘法需要的 Cycles 就比加法要多,自然也就慢

性能优化:

(1)主频,取决于硬件。我摩尔定律提主频。

(2)每条指令的平均时钟周期数 CPI,就是一条指令到底需要多少 CPU Cycle。在后面讲解 CPU 结构的时候,我们会看到,现代的 CPU 通过流水线技术(Pipeline),让一条指令需要的 CPU Cycle 尽可能地少。因此,对于 CPI 的优化,也是计算机组成和体系结构中的重要一环。

(3)指令数,代表执行我们的程序到底需要多少条指令、用哪些指令。这个很多时候就把挑战交给了编译器。同样的代码,编译成计算机指令时候,就有各种不同的表示方式。

总结延伸

“响应时间”拆解成了计算机时钟周期、CPI 以及指令数这三个独立的指标的乘积,优化计算机性能的三条康庄大道。也就是,提升计算机主频,优化 CPU 设计使得在单个时钟周期内能够执行更多指令,以及通过编译器来减少需要的指令数。

课后思考

1.能针对“跑分”作弊么?怎么做到呢?“作弊”出来的分数对于手机性能还有参考意义么?

停止其他全力跑跑分。提高时钟频率,停止温度检测和低级中断

没做过弊,猜测

2.为什么user + sys 运行出来会比real time 多呢

因为“并行原因”的运行的。虽seq和wc都是单线程运行的,在多核cpu运行下,分别分配到两个不同的cpu,就可能超过real的时间。这样来快速验证:time seq 100000000 | wc -l &    让这个命令多跑一会儿,并且在后台运行。

 top 命令看不同进程的cpu占用情况,top的前几行里seq和wc的cpu占用都接近100,实际被分配到不同cpu执行。

我写文稿测试的时候开了一个1u的最小的虚拟机,只有一个cpu所以不会遇到这个问题。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容

  • 1.计算机经历了电子管,晶体管,集成电路,超大规模集成电路以及极大规模集成电路等多个发展阶段。 2.计算机系统具有...
    文艺小猿阅读 3,791评论 3 10
  • 本文翻译自 Thinking Clearly About Performance 这是我三年前读到的一篇关于性能问...
    mindwind阅读 1,279评论 1 8
  • 2018.6.13.朱雪滔分享:生气源于期待,脑子不源源不断编不好的故事,此时应停止编故事或转移焦点冷静下来,想大...
    爱自然生命力朱雪滔阅读 307评论 0 1
  • 最近一直转,所以没有开始写,有些懈怠,先从头理一遍吧。 去年毕业到现在换了三家公司,说是毕业,更准确是从去年过...
    站着得花猫阅读 174评论 0 1