homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Unified locals/consts array + register-based instructions
Type: performance Stage:
Components: Interpreter Core Versions: Python 3.3
process
Status: closed Resolution: postponed
Dependencies: Superseder:
Assigned To: Nosy List: collinwinter, djc, jyasskin, loewis, pitrou, terry.reedy
Priority: normal Keywords:

Created on 2009年02月26日 14:08 by pitrou, last changed 2022年04月11日 14:56 by admin. This issue is now closed.

Messages (5)
msg82756 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2009年02月26日 14:08
There is no patch here, this entry is just a reminder of some of the
ideas that have been suggested to experiment with ways to speedup the
Python VM (djc, who is nosied, has said he'd be willing to try working
on it):
- unify the local variables and constants arrays (this costs a copy of
the constants array at each frame creation, but it should be negligible
since frames are reused and the copy can probably be a dumb memcpy)
- devise new instructions, or a whole new instruction set, which takes
its arguments from this array
As a simple way to experiment, one could start with a new instruction
named e.g. BINARY_ADD_FAST which would take one 16-bit arg, whose 8
upper bits would be the index of the first argument, and whose 8 lower
bits would be the index of the second argument. The result would be
pushed on top of the stack.
It could also be measured whether having a special value (255) to mean
"pop the argument off the pop of the stack" gives negative (because of
overhead) or positive (because of less bytecode) results.
msg82767 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2009年02月26日 17:14
Please don't store such information in the bug tracker. If you think you
need public storage of it, consider using the wiki.
OTOH, I'm skeptical why a reminder is necessary in the first place: if
this is a project that interests you, you surely won't forget about it,
right?
msg82768 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2009年02月26日 17:22
> OTOH, I'm skeptical why a reminder is necessary in the first place: if
> this is a project that interests you, you surely won't forget about it,
> right?
The reason I don't just store it somewhere inside my head is that it's a
collective reminder :-). Also, djc (Dirkjan Ochtman) asked me to open an
entry as he wants to try to work on it.
msg139197 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2011年06月26日 19:09
This a type of feature request and such a change would only go into a new version. Given the absence of response from djc, perhaps this should be closed as languishing-postponed?
msg139241 - (view) Author: Dirkjan Ochtman (djc) * (Python committer) Date: 2011年06月27日 07:33
Yeah, I probably won't work on this anytime soon. I think this has also become less interesting as pypy has made progress.
History
Date User Action Args
2022年04月11日 14:56:46adminsetgithub: 49625
2011年06月27日 08:52:10pitrousetstatus: open -> closed
resolution: postponed
2011年06月27日 07:33:21djcsetmessages: + msg139241
2011年06月26日 19:09:29terry.reedysetnosy: + terry.reedy

messages: + msg139197
versions: + Python 3.3, - Python 3.1, Python 2.7
2009年02月26日 17:22:55pitrousetmessages: + msg82768
2009年02月26日 17:14:07loewissetnosy: + loewis
messages: + msg82767
2009年02月26日 14:08:52pitroucreate

AltStyle によって変換されたページ (->オリジナル) /