1. 准备工作
准备CentOS、Ubuntu测试机器,CentOS选用7.9版本,Ubuntu采用22.04版本。
1.1. CentOS配置镜像源及安装基础软件
配置国内的公共镜像源,安装基础软件。
1.1.1. 配置镜像源
# 备份
$ sudo mkdir /etc/yum.repos.d/bak
$ sudo mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/
# 配置镜像源文件
$ sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
$ sudo curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
# 生成缓存
$ sudo yum makecache
1.1.2. 安装基础依赖包
# 安装开发工具包
$ sudo yum groupinstall -y "Development Tools"
$ sudo yum install -y wget
1.2. Ubuntu配置镜像源及安装基础软件
1.2.1. 配置镜像源
# 替换为阿里云镜像源
$ sudo sed -i 's/https:\/\/archive.ubuntu.com/http:\/\/mirrors.aliyun.com/g' /etc/apt/sources.list
1.2.2. 安装基础依赖包
# 安装构建工具包
$ sudo apt-get install -y build-essential
可用镜像源链接:
2. CPU性能测试
CPU性能测试工具常用的有SuperPI,Sysbench等。
2.1. SuperPI测试
SuperPI是著名的圆周率计算软件,通常用于CPU的单线程性能对比测试。
2.1.1. 安装及测试
# 创建下载安装目录
$ git clone https://github.com/Fibonacci43/SuperPI.git
# 或者使用国内的代码仓库
$ git clone https://gitee.com/lg19891024/SuperPI.git
$ cd SuperPI/
$ ls
CMakeLists.txt fftsg_h.c install.txt Makefile pi_fftcs.c README.md readme.txt
$ gcc -O -funroll-loops -fomit-frame-pointer pi_fftcs.c fftsg_h.c -lm -o pi_css5
# 编译后文件如下,生成了pi_css5
$ ls
CMakeLists.txt fftsg_h.c install.txt Makefile pi_css5 pi_fftcs.c README.md readme.txt
# 执行测试。将计算圆周率小数点后2的26次方位的数值,即64M(6700万)位。
$ ./pi_css5 $((1<<26)) # 等同于 ./pi_css5 67108864
2.1.2. 结果分析
$ ./pi_css5 $((1<<26))
Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave
initializing...
nfft= 16777216
radix= 10000
error_margin