Created by Michael Hudson-Doyle on 2010-03-15 and last modified on 2010-03-15
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

Michael Hudson-Doyle

Recent revisions

20079. By antocuni on 2008-06-11

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 on 2008-06-08

remove unneeded attribute

20077. By antocuni on 2008-06-08

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

20076. By antocuni on 2008-06-08

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

20075. By arigo on 2008-06-08

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

20074. By cami on 2008-06-08

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 on 2008-06-07

tried to fix 2 complement bugs

20072. By arigo on 2008-06-07

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 on 2008-06-07

fixed bug in joypad, returned value was incorrect

20070. By arigo on 2008-06-07

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:
This branch contains Public information 
Everyone can see this information.