Matthias, I have made a series of pyperformance benchmarks [1] to
compare the influence of the factors listed by Elvis on Xenial and
Artful. All runs were done on the same machine (metal) with a fresh
Ubuntu cloud image.

My observations confirm that both: changing fpectl and fPIC for _math.c
module bring significant improvement over corresponding versions without
the changes. I have replaced -fstack-protector-strong with -fstack-
protector to observe even better results in the benchmark. Although in
the examined scope it's impact is not as significant as the former 2
factors.

The combination of all three factors make the results close to what we
can observe on Trusty.

I believe backporting the fpectl and _math.c changes also to Xenial is worth 
considering.
The -fstack-protector setting brings performance improvement, but it also 
creates some security doubts.

[1] http://pyperformance.readthedocs.io
[2] 
https://docs.google.com/spreadsheets/d/1R83NQ7xzIfzFMVdbrh-zqK_iBuPcuhWa6KdTYPibFmE/edit?usp=sharing

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to python2.7 in Ubuntu.
https://bugs.launchpad.net/bugs/1638695

Title:
  Python 2.7.12 performance regression

Status in python2.7 package in Ubuntu:
  Fix Released
Status in python2.7 source package in Xenial:
  Confirmed

Bug description:
  I work on the OpenStack-Ansible project and we've noticed that testing
  jobs on 16.04 take quite a bit longer to complete than on 14.04.  They
  complete within an hour on 14.04 but they normally take 90 minutes or
  more on 16.04.  We use the same version of Ansible with both versions
  of Ubuntu.

  After more digging, I tested python performance (using the
  'performance' module) on 14.04 (2.7.6) and on 16.04 (2.7.12).  There
  is a significant performance difference between each version of
  python.  That is detailed in a spreadsheet[0].

  I began using perf to dig into the differences when running the python
  performance module and when using Ansible playbooks.  CPU migrations
  (as measured by perf) are doubled in Ubuntu 16.04 when running the
  same python workloads.

  I tried changing some of the kerne.sched sysctl configurables but they
  had very little effect on the results.

  I compiled python 2.7.12 from source on 14.04 and found the
  performance to be unchanged there.  I'm not entirely sure where the
  problem might be now.

  We also have a bug open in OpenStack-Ansible[1] that provides
  additional detail. Thanks in advance for any help you can provide!

  [0] 
https://docs.google.com/spreadsheets/d/18MmptS_DAd1YP3OhHWQqLYVA9spC3xLt4PS3STI6tds/edit?usp=sharing
  [1] https://bugs.launchpad.net/openstack-ansible/+bug/1637494

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python2.7/+bug/1638695/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to