什么是 Benchmarks?
什么是 Benchmarks?
《工欲善其事,必先利其器》
大家好,我是vk
,好久不见。国庆回来了,感觉有好多功课又落下了。。。那么就以一篇小文章开始,提前回归我们的工作日常吧!
起初,我也不知道 benchmark
这个文件是做什么的。抱着求知的心态打开翻译软件,翻译过来是 “基准”、“检测” 的意思。这时候我有了点思路,结合文件内的程序,大概能猜出来这是一个存放 测试标准和性能程序 的文件夹。
一、benchmark 能做什么?
在学习 vue
源码时,项目里就存在 benchmark
文件夹:
打开 big-table
文件夹的 index.html
文件:
直到看见 ROWS = 1000
这个变量,我才明白,这的确是用于测试性能的程序。言外之意,benchmark
的目的主要有两种,一是用大量的数据验证性能(例如表格,svg
,列表等);另一个是获得一些基准数据,从而可以与本软件的其他版本或其他同类软件进行比较。
无独有偶,其实并非只有 vue
才会进行 benchmarks
测试。相反,benchmark
测试不一定会发生在每个版本的开发期间。有可能仅会在有较大改动的时候才会进行一次 benchmark
测试。
(图片来自稀土掘金)
根据上图可知,这里渲染了大量的带状态的组件实例,这是 v2
和 v3
针对以前的 object.defineProperty
和 现在的 Proxy
这两个不同的 API 进行的,属于 benchmarks
测试。
这里测试得出的结果是,v3
拥有更加优越的性能和基准数据,这是质的提升。
二、benchmarks 和 单元测试一样吗?
答案肯定是不一样的。两种测试方式的目的和阶段不同。
- 单元测试发生在开发阶段,当一个新功能、新程序开发好,或者对原有程序进行了改动之后,需要通过单元测试来验证其正确性。单元测试可能会发生多次,每个大小版本可能都要进行,有时候还会进行多次。
benchmark
的目的主要有两种,一是验证性能,另一个是获得一些基准数据,从而可以与本软件的其他版本或其他同类软件进行比较。通常不使用benchmark
做正确性验证。benchmark
测试不一定会发生在每个版本的开发期间。有可能仅会在有较大改动的时候才会进行一次benchmark
测试。因此频率相对单元测试来说要低很多。
例如上面 vue
的性能测试,正是单元测试做不到的。
参考文章:
- github很多项目中有 benchmarks这个目录,到底是干什么的?
最后,感谢你的阅读,愿你的未来一片光明。
什么是 Benchmarks?相关推荐
- Intel QuickAssist Technology and OpenSSL – Benchmarks and Setup Tips
Intel QuickAssist Technology and OpenSSL – Benchmarks and Setup Tips 来源:https://www.servethehome.com ...
- filecoin benchmarks v25 GeForce GTX 1080 Ti
filecoin benchmarks v25 GeForce GTX 1080 Ti 1,GeForce GTX 1080 Ti 1,GeForce GTX 1080 Ti lotus版本 # cd ...
- Ubuntu 18.04安装GPGPU-Sim,运行ispass-2009 benchmarks
最近做实验要搭建GPGPU-Sim环境,无奈这个软件太过小众,官网教程也不明确,百度只查到大光叔叔在2015年发的比较完整的安装方法(大光安装方法),但安装的Ubuntu版本太过老旧,还是server ...
- 【2022 小目标检测综述】Towards Large-Scale Small Object Detection: Survey and Benchmarks
Towards Large-Scale Small Object Detection: Survey and Benchmarks 论文简介: 论文动机: 小目标检测方法回顾: 问题定义: 主要挑战: ...
- (最新)cpu天梯图 (CPU)- Processor Benchmarks
cpu天梯图,cpu Benchmarks见下列网址: PassMark CPU Benchmarks - Single Thread Performance CPU UserBenchmarks - ...
- IEEE CEC benchmarks概述
文章目录 IEEE CEC benchmarks是什么 IEEE CEC2014实例 IEEE CEC benchmarks主要作用 IEEE CEC benchmarks是什么 IEEE CEC,全 ...
- (搬运)强化学习的最好benchmarks:最终列表
Best Benchmarks for Reinforcement Learning: The Ultimate List 来源:https://neptune.ai/blog/best-benchm ...
- filecoin lotus benchmarks v26 GeForce GTX 2080 Ti GeForce GTX 1080 Ti
filecoin lotus benchmarks v26 GeForce GTX 2080 Ti 1,编译bench 2,基准测试 3,GeForce GTX 2080 Ti 测试 1,编译benc ...
- Slicer4j运行defects4j(二)--运行benchmarks项目
slicer4j设置了一系列的项目,用于基准测试.在Slicer4j文件夹下的benchmarks存在很多项目. 主要有JavaSlicer benchmarks , Slicer bechmarks ...
最新文章
- 应用基础计算机一级的题目,计算机应用基础一级模拟题
- 【BLE】TLSR8258开发记录之15--模拟FATFS
- php垂直居中代码_div标签:水平居中和垂直居中的实现(附代码)
- asp.net identity的学习记录
- java学习(64):类访问私有内部内部类方法
- bootstrap基础学习【菜单、按钮、导航】(四)
- 优秀!结构最清晰的Yolov3 head和loss实现完全解析
- 华为Mate 30 Pro全新配色曝光:“赤茶橘”颜值超高
- 2019.08.27BOM的六个子对象(1)
- 登录或连接MYSLQ 提示 error 1045 access denied for user 'root@127.0.0.1' 错误
- jenkines的工作区目录位置查找
- MCGS组态屏CRC16(Modbus)校验计算脚本
- 【图像处理】H.264开源解码器评测
- php rsa2 pkcs8,关于pkcs8 与 rsa 互转的一个坑
- 新媒体推广:一篇文章学会全平台信息流优化 !你get到了吗? | 黎想
- CHD-5.3.6集群上sqoop安装
- 批量修改ip成自定义网址
- 【转载】2019 年,国内博士后的招聘要求和待遇是怎样的?
- 安利一下断言利器AssertJ
- 道高一尺魔高一丈:iOS破解应用下载中心AppTrackr VS. 苹果
热门文章
- 爱奇艺qsv视频下载后怎么转换为3gp格式
- lol最克制诺手的英雄_LOL:对线很“无解”的5个英雄,其实他们都有克星,诺手只怕它!...
- 灵魂拷问:学Python搞一个云服务器到底能干嘛?
- Unity3D 中 Generic 动画导入设置和 Root Motion 之间的关系
- Jensen–Shannon divergence
- TexturePacker命令行拉起参数
- 使用面膜过敏现象原因
- java 拨通电话_android应用调用系统拨打电话
- 外企就很舒服?聊聊我在外企的工作体验
- pandas 玩转 Excel 操作总结