🇨🇳:中文
🇬🇧:English
该项目借鉴了SuperPI的CPU性能计算方式,通过多轮迭代估算出当前CPU的性能成绩。
本人突发奇想,想用Android机上的Termux APP搭建Java后端服务器,但是苦于不清楚CPU性能,但是又没有一个公平的CPU性能测试工具,没法比较手机CPU性能和台式机CPU性能,因此萌生了这个想法。
还有一点公司服务器CPU性能我也不清楚,总感觉很卡,我想让这些至强服务器CPU和我的电脑的CPU进行性能比较(想嘲讽一下公司的老旧服务器的性能),苦于没有一个合适的CPU性能比较工具(Linux、Windows、MACOS、Android等等,没有一个通用的CPU性能比较软件),因此就写了这个项目。
目标就是算法一致,公平公正的……体现出该CPU上JVM的运行性能,哈哈!
- 均衡,使用统一标准,统一算法,统一计算时间,避免了度量的不一致性
- 覆盖广泛,采用的是递进算法,即使是很古老的,速度很慢的CPU也能跑出较为准确的分数,不至于卡死
- 快速,默认单线程和多线程都执行10秒,仅需20秒即可得出当前CPU的性能成绩
- 全平台支持,支持Windows、Linux、MacOS等,甚至在手机上可以使用Termux+JDK17,能够计算手机的CPU性能
- 基于JDK8开发,兼容性更好
- 算法简洁,原本最终成绩考虑使用各种复杂算法对最终分数进行调和,但是发现最简单的反而是最好的
- 打出jar包
mvn clean package
- 执行cli版本jar包
java -jar jcpu-benchmark-cli-*.jar
-
执行ui版本jar包 双击打开Java版CPU性能测试工具.jar,即可。如果无法打开,则尝试使用命令行执行
-
执行native版本 直接执行即可
输入:1,即可执行CPU性能测试
输入:q,可退出程序
- MACOS CPU信息无法获取
- 增加结果提交功能(目前服务器还没搭建完成)
- 软件更新提示
- Android APP版本,待开发
CPU型号/手机型号 | 单核分数 | 多核分数 |
---|---|---|
AMD R7 7700X | 5984.44 | 55417.39 |
小米9(SD 855) | 2136.29 | 9836.49 |
AMD R5 5600G | 3636.00 | 26248.29 |
AMD R3 3100 | 3110.49 | 16306.12 |
Xeon(R) E5-2603 | 1066.33 | 13071.72 |
Xeon(R) E5-2698*2 | 1464.18 | 44581.40 |
AMD R5 3550H | 1944.20 | 6942.51 |
AMD R7 2700X | 2922.01 | 21649.12 |
华为Mate10(麒麟970) | 1136.37 | 6096.32 |
小米13(SD 8Gen2)均衡模式 | 2744.84 | 14388.14 |
小米13(SD 8Gen2)性能模式 | 3416.00 | 14211.33 |
红米K40(SD 870)均衡模式 | 2832.06 | 10862.74 |
红米K40(SD 870)性能模式 | 3014.79 | 11107.46 |
AMD Athlon 200GE | 2421.77 | 6189.99 |
i7 8700K | 3209.19 | 22849.04 |
i7 12700H | 4813.22 | 36004.76 |
Apple M1 | 3310.99 | 25711.04 |
CPU型号/手机型号 | 单核分数 | 多核分数 |
---|---|---|
AMD R7 7700X | 5145.48 | 46456.64 |
AMD R5 5600G | 3194.11 | 23789.40 |
AMD R3 3100 | 2639.38 | 15859.60 |
小米13(SD 8Gen2) | 2399.23 | 13303.83 |
小米9(SD 855) | 1982.45 | 9188.78 |
华为Mate10(麒麟970) | 923.60 | 5293.64 |
红米3S(SD 430) | 390.31 | 2127.60 |
i7 8700K | 2903.54 | 21985.10 |
无界面命令行版本,最小的形式方式
核心模块,包含CPU性能计算算法,获取CPU信息等
对benchmark-cli采用native打包,可以在对应系统的服务器上直接运行,不需要JVM
数据结果上报模块,目前还没开始制作,且为了服务器安全,和数据准确性,该模块不开源
java swing制作的带GUI的图形化界面版本。目前使用Graalvm打包还有问题,执行会报错,目前还不清楚如何解决