classification
Title: Allocation of values array in split dicts should use small object allocator.
Type: performance Stage: needs patch
Components: Interpreter Core Versions: Python 3.6
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: larry Nosy List: Mark.Shannon, abarry, aniawsz, larry, vstinner
Priority: low Keywords: easy

Created on 2015-07-16 20:58 by Mark.Shannon, last changed 2016-09-02 11:04 by vstinner. This issue is now closed.

Messages (5)
msg246828 - (view) Author: Mark Shannon (Mark.Shannon) * (Python committer) Date: 2015-07-16 20:58
Issue 23601 advocates using the small object allocator for dict-keys objects and the results of tests are good.

Using the small object allocator for dict value-arrays as well seems like the obvious next step.
msg246831 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2015-07-16 21:11
If it's an optimization, we need benchmarks.

We should also try to modify PyMem allocator to simply be an alias to PyObject allocator. I expect a little speedup. I'm not talking for the specific case of the dict type, but for all Python.
msg272894 - (view) Author: Larry Hastings (larry) * (Python committer) Date: 2016-08-17 00:27
Assigning to myself on behalf of "aniawsz".  I actually want to assign it to her but for some reason I can't.  (Maybe because she doesn't have the commit bit?)
msg272895 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2016-08-17 00:31
In Python 3.6, PyMem_Malloc() is now an alias to PyObject_Malloc(), both functions use the pymalloc allocator: see the issue #26249.

This issue can now be closed.

--

Note: I created the issue #26249 when I saw the good results of the issue #23601. In fact, I had the idea when I wrote tracemalloc, but I chose to defer the idea because some people expected regressions. PYTHONMALLOC=debug should now help to find and debug issues:
https://docs.python.org/dev/whatsnew/3.6.html#pythonmalloc-environment-variable
msg272896 - (view) Author: Anilyka Barry (abarry) * (Python triager) Date: 2016-08-17 00:34
One needs to have the "Developer" role (i.e. can triage issues) to be assigned :)
History
Date User Action Args
2016-09-02 11:04:35vstinnersetstatus: open -> closed
resolution: fixed
2016-08-17 00:34:56abarrysetnosy: + abarry
messages: + msg272896
2016-08-17 00:31:05vstinnersetmessages: + msg272895
2016-08-17 00:27:27larrysetassignee: larry
messages: + msg272894
2016-08-17 00:26:29larrysetnosy: + larry, aniawsz
2015-07-16 21:11:49vstinnersetnosy: + vstinner
messages: + msg246831
2015-07-16 20:58:44Mark.Shannoncreate