UnixBench的实现介绍

简介: 很多用户都用UnixBench做性能测试,并做厂商之间的对比,那UnixBench到底做了哪些性能测试,本篇从代码层面阐述UnixBench做了哪些测试。在细说UnixBench的实现之前,先放一个总结果UnixBench算分介绍有类似结果,然后一个个解释。

很多用户都用UnixBench做性能测试,并做厂商之间的对比,那UnixBench到底做了哪些性能测试,本篇从代码层面阐述UnixBench做了哪些测试。
在细说UnixBench的实现之前,先放一个总结果UnixBench算分介绍有类似结果,然后一个个解释。 从结果可以看出,结果分为两块,一块为单进程,一块为多进程,多进程数目默认取决于CPU数目,多进程的测试仅仅是增加了进程数目,内存其实跟单进程一模一样,所以下面的描述都是针对单进程的。

Dhrystone 2 using register variables

这里有比较详细的dhrystone介绍,这个主要是测整数性能,对应的浮点数测试是:Double-Precision Whetstone。
恕我眼拙,那一坨运算实在不知所云,于是上网搜了一堆文章,大意是可以通过编译优化提高性能,不能真实反映CPU性能。这篇文章比较有典型意义:Benchmarking in context: Dhrystone
那绕开里面一坨计算,说下输出:默认就是在10秒内,那一坨计算能计算次数,算出分数后,参考前面篇UnixBench算分介绍,算出Index分数。

Double-Precision Whetstone

既然有整数运算的CPU性能,那么浮点数运算性能也希望有,于是就有了:whets.c 它的代码质量就高多了,我终于读懂了。

  1. 它需要得到一个合适的参数. 怎么得出这个运算呢:有坨运算,随着传入参数(xtra)变大,耗时会逐渐增减,当耗时增加到超过2秒时,参数停止变大。
    image.png
  2. 如果跑10秒大概的参数会是怎样呢:625*10/1.238352=5047
  3. 根据输入参数,去计算结果,之前一直没有说,那一坨计算是什么,总共分为8步,英文解释还是比较清楚的,采纳了其中的浮点数分数,不过它的时间怎么把其他计算的时间也算在里面了,既然只关心浮点数运算,为什么还要加入N3,N4,N5,N7,N8这几步,后续计算参考前面算法规则UnixBench算分介绍
    image.png

Execl Throughput

除了前面介绍的那两个比较复杂,UnixBench其他的运算都比较简单,Execl它的实际就是递归调用,它主要利用的是execl函数。本身execl.c编译出来后的执行文件是execl的二进制文件,execl函数执行的时候记录参数:开始时间,执行次数,耗时(一般都是10秒)。当本次总执行时间耗时超过10秒时,输出执行次数,然后根据算分规则算分,这个思想还是很巧妙的。

File Copy

这个主要是测试的write和read两个函数,测试30秒。实现很简单,先写入一个文件2秒(循环写入),再读2秒,然后从刚刚写入的文件读取数据,写入到另一个文件,循环写入,在30秒的读写次数。 不同的参数测试测的是不同块大小,不同块数的性能,如果测试磁盘建议用FIO测试。

Pipe Throughput

打开一个管道,往管道写入512个bytes,再读出来,测试10秒,总共读写次数

Pipe-based Context Switching

打开两个管道,开启两个进程,其中一个进程往管道1写,往管道2读,另一个进程往管道2写,往管道2读,一个进程完成一次读写,计数+1。其中一个很有意思的事情:如果这两个进程在同一个CPU和不同的CPU有完全不同的性能,在同一个CPU下性能会好很多。这里有篇很细致的分析,值得大家评阅:Unixbench 测试套件缺陷深度分析

Process Creation

就是不停调用fork函数,创建进程,并立马退出,成功一次计数+1。

Shell Scripts

通过fork函数,创建进程,不停地执行一个脚本, 执行成功一次+1. 所谓Shell Scripts (1 concurrent) 一个并发是指传递给脚本:pgms/multi.sh 参数是1,同样Shell Scripts (8 concurrent) ,传递给脚本的参数是8,同时8个子任务并发执行。

System Call Overhead

本意是想计算进入离开操作系统的开销,进入离开一次计数+1,在10秒内的执行次数. 实际执行的效果是fork子进程,waitpid函数后退出,计数+1

上述把UnixBench的默认实现都介绍了下,很简单,但很有意思!

目录
相关文章
|
弹性计算 Oracle Ubuntu
阿里云免费试用云服务器上新了,最高配置4核16G,最长3个月免费试用
近日,阿里云免费试用云服务器又上新了,前几天还只有共享型s6实例和通用算力型u1实例可申请试用,现在又增加了通用型g7、计算型c7a、计算型c8y和计算型c7实例的云服务器参与免费试用,现在共计有11款不同配置和实例的云服务器可免费申请试用了。
1668 0
阿里云免费试用云服务器上新了,最高配置4核16G,最长3个月免费试用
|
机器学习/深度学习 人工智能 自然语言处理
耳朵没错,是声音太真了,字节豆包语音合成成果Seed-TTS技术揭秘
【7月更文挑战第5天】字节跳动的Seed-TTS技术在语音合成领域实现重大突破,生成的语音与真人难辨真假。基于深度学习的模型能模拟多种情感、口音,适用于智能客服、有声读物等场景。尽管面临计算资源需求大、个别情况合成质量不稳及潜在伦理问题,该技术仍标志着语音合成的新高度。[论文链接](https://arxiv.org/abs/2406.02430)**
884 1
|
存储 缓存 测试技术
一种提高Unixbench测试分数的方法
一种提高Unixbench测试分数的方法
3589 0
一种提高Unixbench测试分数的方法
|
存储 Unix C语言
C语言进程(第三章,exec函数族,execl,execlp,execle,execv,execvp,execve)
C语言进程(第三章,exec函数族,execl,execlp,execle,execv,execvp,execve)
885 0
|
弹性计算 算法 Linux
专家推荐 | 阿里云高级技术专家带你全面了解云主机性能评测
云计算性能领域的知名专家首次开博,帮助读者揭开迷雾和误导,合理、客观地构建云主机评测的方法论
5338 145
2023年流行的 WordPress SEO 插件——Yoast SEO
2023年流行的 WordPress SEO 插件——Yoast SEO 为了帮助您选择最好的 WordPress SEO 插件,我们测试了多个 WordPress SEO 插件,以突出每个插件的功能,从简单到复杂。每个插件都包含有关功能、优点、缺点、定价和我们最终结论的信息。
2023年流行的 WordPress SEO 插件——Yoast SEO
|
传感器 人工智能 自动驾驶
自动驾驶技术的优势、局限性及未来发展趋势
自动驾驶技术的优势、局限性及未来发展趋势
711 0
|
弹性计算 固态存储 Linux
【ECS测评拓展】横向对比其他服务器 unixbench测试
一时兴起用手头上不同的三种云/虚拟服务器简单跑个分数,纯当娱乐大师了哈!
1910 2
【ECS测评拓展】横向对比其他服务器 unixbench测试
|
存储 弹性计算 编解码
阿里云第七代服务器Intel Xeon(Ice Lake) Platinum 8369B
阿里云第七代云服务器ECS计算型c7、通用型g7和内存型r7实例,CPU处理器采用2.7 GHz主频的Intel Xeon(Ice Lake) Platinum 8369B,全核睿频3.5 GHz,计算性能稳定。c7、g7和r7区别CPU内存比,阿里云服务器网来详细说下阿里云第七代云服务器c7、g7和r7实例CPU性能评测:
4005 0

热门文章

最新文章