[Speed] Testing a wide Unicode build of Python 2 on speed.python.org?

Victor Stinner victor.stinner at gmail.com
Wed Apr 12 12:15:12 EDT 2017


2017-04-12 10:52 GMT+02:00 Victor Stinner <victor.stinner at gmail.com>:
> I'm running benchmarks with this option. Once results will be ready, I
> will remove the old 2.7 result to replace it with the new one.

Done. speed.python.org now uses UCS-4 on Python 2.7. Is it better now?

Previous JSON file:
https://github.com/haypo/performance_results/raw/master/2017-03-31-cpython/2017-04-03_16-11-2.7-23d6eb656ec2.json.gz

New JSON file:
https://github.com/haypo/performance_results/raw/master/2017-04-12-cpython/2017-04-10_17-27-2.7-e0cba5b45a5c.json.gz

I see small performance differences, but they don't seem to be related
to UTF-16 => UCS-4, but more random noise. Comparison between the two
files:

$ python3 -m perf compare_to
2017-03-31-cpython/2017-04-03_16-11-2.7-23d6eb656ec2.json.gz
2017-04-12-cpython/2017-04-10_17-27-2.7-e0cba5b45a5c.json.gz --table
-G --min-speed=5
+-----------------+-----------------------------------+-----------------------------------+
| Benchmark       | 2017-04-03_16-11-2.7-23d6eb656ec2 |
2017-04-10_17-27-2.7-e0cba5b45a5c |
+=================+===================================+===================================+
| chameleon       | 23.3 ms                           | 25.0 ms: 1.07x
slower (+7%)       |
+-----------------+-----------------------------------+-----------------------------------+
| scimark_fft     | 623 ms                            | 673 ms: 1.08x
slower (+8%)        |
+-----------------+-----------------------------------+-----------------------------------+
| fannkuch        | 806 ms                            | 889 ms: 1.10x
slower (+10%)       |
+-----------------+-----------------------------------+-----------------------------------+
| scimark_sor     | 401 ms                            | 443 ms: 1.11x
slower (+11%)       |
+-----------------+-----------------------------------+-----------------------------------+
| unpack_sequence | 138 ns                            | 154 ns: 1.12x
slower (+12%)       |
+-----------------+-----------------------------------+-----------------------------------+
| regex_v8        | 53.4 ms                           | 60.0 ms: 1.12x
slower (+12%)      |
+-----------------+-----------------------------------+-----------------------------------+

Not significant (61): (...)


Hopefully, perf stores information on the Unicode implementation in
metadata. You can check metadata using:

$ python3 -m perf 2017-03-31_06-53-2.7-5aa913d72317.json.gz -b
2to3|grep python_unicode
- python_unicode: UTF-16
$ python3 -m perf metadata 2017-04-10_17-27-2.7-e0cba5b45a5c.json.gz
-b 2to3|grep python_unicode
- python_unicode: UCS-4

Victor


More information about the Speed mailing list