Fix performance regression in v1.57
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
python-memcache (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
High
|
James Page | ||
Cosmic |
Fix Released
|
High
|
James Page | ||
Disco |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
Performance under Python 2 with this package since 1.54 is poor due to the lack of use of the native C implementation of pickle.
[Test Case]
run attached memcache-test.py under python 2.
with proposed fixes, should be approximately 2/3 of the execution time of the unpatched version.
[Regression Potential]
The picked fix is relatively minor and simply adjusts the import under Py2 to use the native C implementation so regression potential will be low.
[Original Bug Report]
Just migrated a python 2 application from 14.04 LTS to 18.04 LTS and got a serious performance degradation. Like 1000 times slower. After some profiling it was concluded that the problem was the transition from cPickle back to pickle for data serialization.
This is a problem fixed in version 1.58.
https:/
Please upgrade python-memcache to a more recent version or patch the current version.
Versions affected: Ubuntu 16.04 LTS and Ubuntu 18.04 LTS
Changed in python-memcache (Ubuntu Bionic): | |
assignee: | nobody → James Page (james-page) |
Changed in python-memcache (Ubuntu Cosmic): | |
assignee: | nobody → James Page (james-page) |
Changed in python-memcache (Ubuntu Bionic): | |
status: | Triaged → In Progress |
Changed in python-memcache (Ubuntu Cosmic): | |
status: | Triaged → In Progress |
disco has 1.59; so marking dev task as Fix Released; however we can't just rev the version in Bionic and Cosmic, we'll need to pick a specific fix to minimise the regression risk.