unixbench类似_Unixbench:简介及使用

unixbench类似_Unixbench:简介及使用一 安装 1 下载 https github com kdlucas byte unixbench archive v5 1 3 tar gz2 修改 Makefile 交叉编译 CC gccCC arm linux gnueabihf gcc3 make4 修改 Run 将 main 函数中的 preChecks 注释掉 因为其中有 system makeall 二 测试介绍

一、安装

1.下载

https://github.com/kdlucas/byte-unixbench/archive/v5.1.3.tar.gz

2.修改Makefile 交叉编译

#CC=gcc

CC = arm-linux-gnueabihf-gcc

3.make

4.修改Run

将main函数中的 preChecks();注释掉,因为其中有 system(“make all”);

二、测试介绍

================================

UnixBench源于1995 年,基线系统是“George”,一个工作站:SPARCstation 20‐61,128MB RAM,Solaris2.3,此系统的指数值被设定为10,所以,如果一个系统的最后结果分数为520,意思是指此系统比基线系统运行快52 倍。

UnixBench也支持多CPU系统的测试,默认的行为是测试两次,第一次是一个进程的测试,第二次是N份测试,N等于CPU个数。这样的设计是为了以下目标:

测试系统的单任务性能

测试系统的多任务性能

测试系统并行处理的能力

UnixBench一个基于系统的基准测试工具,不单纯是CPU 内存 或者磁盘测试工具。测试结果不仅仅取决于硬件,也取决于系统、开发库、甚至是编译器。

Dhrystone测试

测试聚焦在字符串处理,没有浮点运算操作。这个测试用于测试链接器编译、代码优化、内存缓存、等待状态、整数数据类型等,硬件和软件设计都会非常大的影响测试结果。

Whetstone 测试

这项测试项目用于测试浮点运算效率和速度。这项测试项目包含若干个科学计算的典型性能模块,包含大量的C语言函数,sin cos sqrt exp和日志以及使用整数和浮点的数学操作。包含数组访问、条件分支和过程调用。

Execl Throughput测试

(execl 吞吐,这里的execl是类unix系统非常重要的函数,非办公软件的excel)

这项测试测试每秒execl函数调用次数。execl是 exec函数家族的一部分,使用新的图形处理代替当前的图形处理。有许多命令和前端的execve()函数命令非常相似。

File Copy测试

这项测试衡量文件数据从一个文件被传输到另外一个,使用大量的缓存。包括文件的读、写、复制测试,测试指标是一定时间内(默认是10秒)被重写、读、复制的字符数量。

Pipe Throughput(管道吞吐)测试

pipe是简单的进程之间的通讯。管道吞吐测试是测试在一秒钟一个进程写512比特到一个管道中并且读回来的次数。管道吞吐测试和实际编程有差距。

Pipe-based Context Switching (基于管道的上下文交互)测试

这项测试衡量两个进程通过管道交换和整数倍的增加吞吐的次数。基于管道的上下文切换和真实程序很类似。测试程序产生一个双向管道通讯的子线程。

Process Creation(进程创建)测试

这项测试衡量一个进程能产生子线程并且立即退出的次数。新进程真的创建进程阻塞和内存占用,所以测试程序直接使用内存带宽。这项测试用于典型的比较大量的操作系统进程创建操作。

Shell Scripts测试

shell脚本测试用于衡量在一分钟内,一个进程可以启动并停止shell脚本的次数,通常会测试1,2, 3, 4, 8 个shell脚本的共同拷贝,shell脚本是一套转化数据文件的脚本。

System Call Overhead (系统调用消耗)测试

这项测试衡量进入和离开系统内核的消耗,例如,系统调用的消耗。程序简单重复的执行getpid调用(返回调用的进程id)。消耗的指标是调用进入和离开内核的执行时间。

================================

三、Run用法

Run [ -q | -v ] [-i ] [-c [-c …]] [test …]

选项说明:

-q

不显示测试过程

-v

显示测试过程

-i

执行次数,最低3次,默认10

-c

每次测试并行n个copies(并行任务)

备注:-c选项可以用来执行多次,如:

Run -c 1 -c 4表示执行两次,第一次单个copies,第二次4个copies的测试任务。

对于多cpu系统的性能测试策略,需要统计单任务,多任务及其并行的性能增强。

以4个cpu的PC为例,需要测试两次,4个CPU就是要并行执行4个copies,

Run -q -c 1 -c 4

测试结果单个并行的任务的得分为171.3,4个并行任务的得分为395.7。对比测试时需要关注这个值。

743824b2f01aad6a4480dad42e7c1887.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/224187.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午12:30
下一篇 2026年3月17日 下午12:31


相关推荐

  • java递归如何退出_递归删除数组某个元素

    java递归如何退出_递归删除数组某个元素###Java递归删除文件publicstaticvoidmain(String[]args){Filefile=newFile(“D:\\dir”);recursiveDelete(file);}###recursiveDelete方法privatestaticvoidrecursiveDelete(Filefile){if(file.isDirectory())…

    2026年1月19日
    4
  • C++ 指针常量和常量指针

    C++ 指针常量和常量指针首先在 C 目前我看到的类型声明方式 该变量的类型都是由最后几个字来确定 前面是定语 修饰词 有其他不同的欢迎指出 共同学习 比如 指针数组 是数组 数组里存的是指针 数组指针 是指针 指针指向数组 所以指针常量 首先是常量 然后是一个指针 即是该指针是一个常量 指针的值 即指向的地址不会变 常量指针 首先是指针 指针指向的是常量 该指针所指向的值是个常量 然后对于类型 const 除了 const 在类型声明的最左侧的情况 const 都修饰它左边的类型 当它在最左边时 修饰右边最近的类型

    2026年3月26日
    1
  • ostaskcreate函数作用_认识上中下

    ostaskcreate函数作用_认识上中下OSTaskCreate()是学习ucos-Ⅱ操作系统的第一个函数,费了九牛二虎之力,现在感觉差不多可以过了。#ifOS_TASK_CREATE_EN>0INT8UOSTaskCreate(void(*task)(void*p_arg),void*p_arg,OS_STK*ptos,INT8Uprio)/*1*/{ OS_STK…

    2025年9月17日
    7
  • OSSIM操作实践

    OSSIM操作实践最近公司要求部署 OSSIM 在对 OSSIM 使用的过程中 详细通读了李晨光老师的 OSSIM 最佳实践 一书 书中对于 OSSIM 部署操作以及 Sensor 操作都有详细介绍 有在甲方做安全运维并需要用到 OSSIM 的的小伙伴建议可以买一本 在对 OSSIM 部署的过程中 遇到很多问题 在百度中寻找答案时 发现关于 OSSIM 的文章很少 所查到的资料也大多千篇一律的都是基础类而很少有实际操作类 以下是本人在读 OSSIM 最佳实践 一书时 并在 OSSIM 操作过程中所总结的 OSSIM 原理 OSSIM 的

    2026年3月17日
    2
  • bootstrap 模态窗和datepicker搭配,清空form问题

    bootstrap模态窗和datepicker搭配,清空form问题

    2022年2月16日
    51
  • MLP多层感知机(人工神经网络)原理及代码实现

    MLP多层感知机(人工神经网络)原理及代码实现一、多层感知机(MLP)原理简介多层感知机(MLP,MultilayerPerceptron)也叫人工神经网络(ANN,ArtificialNeuralNetwork),除了输入输出层,它中间可以有多个隐层,最简单的MLP只含一个隐层,即三层的结构,如下图:从上图可以看到,多层感知机层与层之间是全连接的(全连接的意思就是:上一层的任何一个神经元与下一层的所有神经元都有连接)。多层感知机最底层…

    2022年6月17日
    110

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号