[issue32616] Significant performance problems with Python 2.7 built with clang 3.x or 4.x
Zhiming Wang
report at bugs.python.org
Sun Jan 21 23:34:14 EST 2018
New submission from Zhiming Wang <zmwangx at gmail.com>:
Python 2.7 could be significantly slower (5x in some cases) when compiled with clang 3.x or 4.x, compared to clang 5.x. This is quite a problem on macOS, since the latest clang from Apple (which comes with Xcode 9.2) is based on LLVM 4.x. This issue was first noticed by Bart Skowron and reported to the Homebrew project.[1]
I ran some preliminary benchmarks (here[2] are the exact setup scripts) with just a simple loop:
import time
def f(n):
while n > 0:
n -= 1
start = time.time()
f(50000000)
stop = time.time()
print('%.6f' % (stop - start))
and here are my results:
- macOS 10.13.2 on a MacBook Pro:
2.082144 /usr/bin/python2.7
7.964049 /usr/local/bin/python2.7
8.750652 dist/python27-apple-clang-900/bin/python2.7
8.476405 dist/python27-clang-3.9/bin/python2.7
8.625660 dist/python27-clang-4.0/bin/python2.7
1.760096 dist/python27-clang-5.0/bin/python2.7
3.254814 /usr/local/bin/python3.6
2.864716 dist/python-master-apple-clang-900/bin/python3
3.071757 dist/python-master-clang-3.9/bin/python3
2.925192 dist/python-master-clang-4.0/bin/python3
2.908782 dist/python-master-clang-5.0/bin/python3
- Ubuntu 17.10 in VirtualBox:
1.475095 /usr/bin/python2.7
8.576817 dist/python27-clang-3.9/bin/python2.7
8.165588 dist/python27-clang-4.0/bin/python2.7
1.779193 dist/python27-clang-5.0/bin/python2.7
1.728321 dist/python27-gcc-5/bin/python2.7
1.570040 dist/python27-gcc-6/bin/python2.7
1.604617 dist/python27-gcc-7/bin/python2.7
2.323037 /usr/bin/python3.6
2.964338 dist/python-master-clang-3.9/bin/python3
3.054277 dist/python-master-clang-4.0/bin/python3
2.734908 dist/python-master-clang-5.0/bin/python3
2.490278 dist/python-master-gcc-5/bin/python3
2.494691 dist/python-master-gcc-6/bin/python3
2.642277 dist/python-master-gcc-7/bin/python3
I haven't got time to run more rigorous benchmark suites (e.g., the performance[3] package). I did try the floating point benchmark from performance, and again saw a 2x difference in performance.
[1] https://github.com/Homebrew/homebrew-core/issues/22743
[2] https://gist.github.com/zmwangx/f8151ba8907ba8159a07fdd1528fc2b5
[3] https://pypi.python.org/pypi/performance
----------
messages: 310395
nosy: zmwangx
priority: normal
severity: normal
status: open
title: Significant performance problems with Python 2.7 built with clang 3.x or 4.x
versions: Python 2.7
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue32616>
_______________________________________
More information about the Python-bugs-list
mailing list