为了测试u540和u740的性能差异,采用在两个平台上分别运行pyperformance的方法进行测试。
操作系统用的是ubuntu官方系统下载自:
Ubuntu 20.04.3 LTS (Focal Fossa)
一、测试环境
操作系统:Ubuntu-20.04.3
内核版本:Linux-5.11.0-1017-generic
Python版本:3.8.10 (64-bit)
python_compiler: GCC 9.3.0
Pyperformance版本:1.0.2
安装命令:python3 -m pip install pyperformance
测试命令:python3 -m pyperformance run -o 540ubu.json
python3 -m pyperformance run -o 740ubu.json
二、测试结果对比
对比命令:
python3 -m pyperf compare_to u540.json u740.json –-table > out.txt
+-------------------------+----------+------------------------+
| Benchmark | u540 | u740 |
+=========================+==========+========================+
| 2to3 | 7.36 sec | 8.76 sec: 1.19x slower |
+-------------------------+----------+------------------------+
| chameleon | 280 ms | 369 ms: 1.32x slower |
+-------------------------+----------+------------------------+
| chaos | 2.72 sec | 3.18 sec: 1.17x slower |
+-------------------------+----------+------------------------+
| crypto_pyaes | 2.47 sec | 2.85 sec: 1.15x slower |
+-------------------------+----------+------------------------+
| deltablue | 186 ms | 222 ms: 1.19x slower |
+-------------------------+----------+------------------------+
| django_template | 1.62 sec | 1.86 sec: 1.15x slower |
+-------------------------+----------+------------------------+
| dulwich_log | 1.48 sec | 1.63 sec: 1.10x slower |
+-------------------------+----------+------------------------+
| fannkuch | 9.46 sec | 10.0 sec: 1.06x slower |
+-------------------------+----------+------------------------+
| float | 2.81 sec | 3.82 sec: 1.36x slower |
+-------------------------+----------+------------------------+
| go | 6.18 sec | 7.28 sec: 1.18x slower |
+-------------------------+----------+------------------------+
| hexiom | 230 ms | 302 ms: 1.31x slower |
+-------------------------+----------+------------------------+
| json_dumps | 335 ms | 397 ms: 1.18x slower |
+-------------------------+----------+------------------------+
| json_loads | 594 us | 581 us: 1.02x faster |
+-------------------------+----------+------------------------+
| logging_format | 263 us | 343 us: 1.30x slower |
+-------------------------+----------+------------------------+
| logging_silent | 4.78 us | 6.65 us: 1.39x slower |
+-------------------------+----------+------------------------+
| logging_simple | 243 us | 282 us: 1.16x slower |
+-------------------------+----------+------------------------+
| mako | 450 ms | 581 ms: 1.29x slower |
+-------------------------+----------+------------------------+
| meteor_contest | 1.85 sec | 2.15 sec: 1.16x slower |
+-------------------------+----------+------------------------+
| nbody | 2.59 sec | 2.96 sec: 1.14x slower |
+-------------------------+----------+------------------------+
| nqueens | 2.39 sec | 2.73 sec: 1.14x slower |
+-------------------------+----------+------------------------+
| pathlib | 517 ms | 591 ms: 1.14x slower |
+-------------------------+----------+------------------------+
| pickle | 217 us | 200 us: 1.09x faster |
+-------------------------+----------+------------------------+
| pickle_dict | 483 us | 400 us: 1.21x faster |
+-------------------------+----------+------------------------+
| pickle_list | 65.6 us | 59.0 us: 1.11x faster |
+-------------------------+----------+------------------------+
| pickle_pure_python | 12.9 ms | 17.3 ms: 1.35x slower |
+-------------------------+----------+------------------------+
| pidigits | 3.53 sec | 2.36 sec: 1.50x faster |
+-------------------------+----------+------------------------+
| pyflate | 16.6 sec | 19.9 sec: 1.20x slower |
+-------------------------+----------+------------------------+
| python_startup | 121 ms | 133 ms: 1.10x slower |
+-------------------------+----------+------------------------+
| python_startup_no_site | 79.0 ms | 86.7 ms: 1.10x slower |
+-------------------------+----------+------------------------+
| raytrace | 13.0 sec | 15.1 sec: 1.17x slower |
+-------------------------+----------+------------------------+
| regex_compile | 3.97 sec | 4.90 sec: 1.23x slower |
+-------------------------+----------+------------------------+
| regex_dna | 3.15 sec | 2.69 sec: 1.17x faster |
+-------------------------+----------+------------------------+
| regex_effbot | 62.7 ms | 55.6 ms: 1.13x faster |
+-------------------------+----------+------------------------+
| regex_v8 | 449 ms | 432 ms: 1.04x faster |
+-------------------------+----------+------------------------+
| richards | 1.80 sec | 2.10 sec: 1.17x slower |
+-------------------------+----------+------------------------+
| scimark_fft | 7.24 sec | 8.18 sec: 1.13x slower |
+-------------------------+----------+------------------------+
| scimark_lu | 3.98 sec | 4.96 sec: 1.25x slower |
+-------------------------+----------+------------------------+
| scimark_monte_carlo | 2.52 sec | 2.94 sec: 1.17x slower |
+-------------------------+----------+------------------------+
| scimark_sor | 4.72 sec | 5.39 sec: 1.14x slower |
+-------------------------+----------+------------------------+
| scimark_sparse_mat_mult | 101 ms | 144 ms: 1.42x slower |
+-------------------------+----------+------------------------+
| spectral_norm | 3.18 sec | 3.57 sec: 1.12x slower |
+-------------------------+----------+------------------------+
| sqlalchemy_declarative | 2.66 sec | 3.08 sec: 1.16x slower |
+-------------------------+----------+------------------------+
| sqlalchemy_imperative | 366 ms | 425 ms: 1.16x slower |
+-------------------------+----------+------------------------+
| sqlite_synth | 77.2 us | 85.8 us: 1.11x slower |
+-------------------------+----------+------------------------+
| sympy_expand | 12.2 sec | 14.5 sec: 1.18x slower |
+-------------------------+----------+------------------------+
| sympy_integrate | 459 ms | 541 ms: 1.18x slower |
+-------------------------+----------+------------------------+
| sympy_sum | 3.55 sec | 4.07 sec: 1.15x slower |
+-------------------------+----------+------------------------+
| sympy_str | 7.08 sec | 8.45 sec: 1.19x slower |
+-------------------------+----------+------------------------+
| telco | 189 ms | 221 ms: 1.17x slower |
+-------------------------+----------+------------------------+
| unpack_sequence | 1.05 us | 1.17 us: 1.12x slower |
+-------------------------+----------+------------------------+
| unpickle | 329 us | 308 us: 1.07x faster |
+-------------------------+----------+------------------------+
| unpickle_list | 74.9 us | 76.8 us: 1.03x slower |
+-------------------------+----------+------------------------+
| unpickle_pure_python | 9.11 ms | 11.4 ms: 1.25x slower |
+-------------------------+----------+------------------------+
| xml_etree_parse | 3.41 sec | 3.79 sec: 1.11x slower |
+-------------------------+----------+------------------------+
| xml_etree_iterparse | 2.48 sec | 3.04 sec: 1.23x slower |
+-------------------------+----------+------------------------+
| xml_etree_generate | 2.58 sec | 3.12 sec: 1.21x slower |
+-------------------------+----------+------------------------+
| xml_etree_process | 2.15 sec | 2.58 sec: 1.20x slower |
+-------------------------+----------+------------------------+
| Geometric mean | (ref) | 1.13x slower |
+-------------------------+----------+------------------------+
Ignored benchmarks (1) of u740.json: tornado_http
可以看到u740的性能看起来并没有太大的优势。
在很多项目上都是slower,只有个别项目是faster。
参考:
Usage — Python Performance Benchmark Suite 1.0.3 documentation