[issue37340] remove free_list for bound method objects

2020-04-28 Thread STINNER Victor
STINNER Victor added the comment: > sorted(data, key=str.upper) Oh, I guess that it's bpo-39117. -- ___ Python tracker ___ ___

[issue37340] remove free_list for bound method objects

2020-04-28 Thread STINNER Victor
STINNER Victor added the comment: > This caused a performance regression (70%) for a fundamental operation. See > issue 37340. Which issue? This is bpo-37340. -- ___ Python tracker

[issue37340] remove free_list for bound method objects

2020-04-28 Thread Raymond Hettinger
Raymond Hettinger added the comment: This caused a performance regression (70%) for a fundamental operation. See issue 37340. Sometimes, bound methods are used directly and not through LOAD_METHOD: sorted(data, key=str.upper) -- nosy: +rhettinger status: closed -> open

[issue37340] remove free_list for bound method objects

2019-12-23 Thread Eric Snow
Change by Eric Snow : -- nosy: +eric.snow ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue37340] remove free_list for bound method objects

2019-11-20 Thread STINNER Victor
STINNER Victor added the comment: New changeset 4dedd0f0ddc5a983a57bf0105eb34f948a91d2c4 by Victor Stinner in branch 'master': bpo-37340: Remove PyMethod_ClearFreeList() and PyCFunction_ClearFreeList() (GH-17284)

[issue37340] remove free_list for bound method objects

2019-11-20 Thread STINNER Victor
Change by STINNER Victor : -- pull_requests: +16777 pull_request: https://github.com/python/cpython/pull/17284 ___ Python tracker ___

[issue37340] remove free_list for bound method objects

2019-07-26 Thread Inada Naoki
Change by Inada Naoki : -- resolution: -> fixed stage: -> resolved status: open -> closed ___ Python tracker ___ ___

[issue37340] remove free_list for bound method objects

2019-07-26 Thread Inada Naoki
Inada Naoki added the comment: New changeset 3e54b575313c64f541e98216ed079fafed01ff5d by Inada Naoki in branch 'master': bpo-37340: remove free_list for bound method objects (GH-14232) https://github.com/python/cpython/commit/3e54b575313c64f541e98216ed079fafed01ff5d --

[issue37340] remove free_list for bound method objects

2019-07-24 Thread Inada Naoki
Inada Naoki added the comment: Latest benchmark: ``` $ pyperf compare_to master.json no-freelist.json -G --min-speed=2 Slower (2): - unpickle_list: 4.19 us +- 0.02 us -> 4.28 us +- 0.03 us: 1.02x slower (+2%) - pathlib: 23.2 ms +- 0.2 ms -> 23.7 ms +- 0.3 ms: 1.02x slower (+2%) Faster (2): -

[issue37340] remove free_list for bound method objects

2019-06-20 Thread Josh Rosenberg
Change by Josh Rosenberg : -- nosy: +josh.r ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue37340] remove free_list for bound method objects

2019-06-19 Thread Inada Naoki
Inada Naoki added the comment: > Are the benchmark results that you posted above for removing the free list > completely or for the one-element free list as in PR 14232? Yes. I see +3% overhead in several benchmarks and I want to see how one free obj save them. > it's worse than no free

[issue37340] remove free_list for bound method objects

2019-06-19 Thread Inada Naoki
Inada Naoki added the comment: Sorry, I just pushed another idea before I leave my office. I will benchmark both ideas after bpo-37337 is finished. -- ___ Python tracker ___

[issue37340] remove free_list for bound method objects

2019-06-19 Thread Jeroen Demeyer
Jeroen Demeyer added the comment: Are the benchmark results that you posted above for removing the free list completely or for the one-element free list as in PR 14232? -- ___ Python tracker

[issue37340] remove free_list for bound method objects

2019-06-19 Thread Jeroen Demeyer
Jeroen Demeyer added the comment: > GH-14232 uses only one free object instead of at most 256 free list. That sounds like a compromise which is worse than either extreme: it's worse than no free list because you still have the overhead of dealing with the one object. And it's worse than a

[issue37340] remove free_list for bound method objects

2019-06-19 Thread Inada Naoki
Inada Naoki added the comment: GH-14232 uses only one free object instead of at most 256 free list. -- stage: patch review -> ___ Python tracker ___

[issue37340] remove free_list for bound method objects

2019-06-19 Thread Inada Naoki
Change by Inada Naoki : -- keywords: +patch pull_requests: +14068 stage: -> patch review pull_request: https://github.com/python/cpython/pull/14232 ___ Python tracker ___

[issue37340] remove free_list for bound method objects

2019-06-19 Thread Jeroen Demeyer
Jeroen Demeyer added the comment: > I will run pyperformance again after bpo-37337 is merged. Good idea. bpo-37337 removes many calls of _PyObject_CallMethodId() which does NOT use the LOAD_METHOD optimization. -- ___ Python tracker

[issue37340] remove free_list for bound method objects

2019-06-19 Thread Inada Naoki
Inada Naoki added the comment: PyCFunction has similar free_list. -- ___ Python tracker ___ ___ Python-bugs-list mailing list

[issue37340] remove free_list for bound method objects

2019-06-19 Thread Inada Naoki
New submission from Inada Naoki : LOAD_METHOD avoids temporary bound method object. PyObject_CallMethodObjArgs now use same optimization. Now I think there is not enough performance benefit from free_list. When free_list is not used often enough, it may bother obmalloc reuse memory pool.