lp:~mwhudson/pypy/imported-eval-loop-experiments

Created by Michael Hudson-Doyle and last modified
Get this branch:
bzr branch lp:~mwhudson/pypy/imported-eval-loop-experiments
Only Michael Hudson-Doyle can upload to this branch. If you are Michael Hudson-Doyle please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Michael Hudson-Doyle
Project:
PyPy
Status:
Development

Recent revisions

20079. By antocuni

try yet another way to encode bytecodes; this time, opargs are decoded
in advance, but they are stored togheter with the opcodes in a list of
ints. This code is not very well tested nor well written, I commit it
just to do benchmarks on different machines

20078. By antocuni

remove unneeded attribute

20077. By antocuni

experimental option that precomputes opcode args and pack the bytecode
to contains only opcodes, not opargs; the intent is to make the
interpreter loop a bit smaller.

The benchmarks are a bit controversial, it's not clear if you win or
loose.

20076. By antocuni

recreate the branch, hopefully at the right level now :-)

20075. By arigo

Mention that this is what LLVM would like to find someone to do.

20074. By cami

renamed constants of timer and serlial for better readability
adaoted tests
fixed bug in interrupt: enable is not a bool its an int!
adapted tests
minor refactoring: mostly code formattinh

20073. By cami

tried to fix 2 complement bugs

20072. By arigo

Experimental check-in which could be reverted. This makes the method
cache global instead of per-thread.

It makes a pypy-c-thread almost as fast as a pypy-c-no-thread, when
threads are not used (<2% difference). The reason is that
getexecutioncontext() needs to call RPyThreadIdent(), which appears to
be the main cause of a global slow-down of 4-5%. I don't know if there
are real-world cases where the method cache would get significantly
trashed by being shared between threads.

An alternative to this check-in would be to improve
getexecutioncontext(), e.g. by replacing the dict {thread_id:
executioncontext} with a single executioncontext reference which is
carefully saved and restored when the GIL is released. For now it would
be too much cleverness for too little gain, so I'll skip.

20071. By cami

fixed bug in joypad, returned value was incorrect

20070. By arigo

Don't follow symlinks to directories when checking for tabs.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:pypy
This branch contains Public information 
Everyone can see this information.