[pypy-issue] [issue1505] Removing multimethods slows the nojit case

Armin Rigo tracker at bugs.pypy.org
Fri May 31 17:35:41 CEST 2013

New submission from Armin Rigo <armin.rigo at gmail.com>:

Removing multimethods had a big performance hit on the no-jit case, sometimes. 
I suspect it can be fixed relatively easily.  We *should* probably fix it.

Revision 93322cb79586 (hg merge remove-list-smm-2) makes nbody_modified much
slower; we can see that it makes this kind of code almost twice as slow:

    lst = [1.2, 3.4]
    for i in range(BIG):
        lst[1] = lst[1] + n

Revision d1459869ce85 (Merge remove-array-smm branch that kills multimethods
from the array module) makes crypto_pyaes.py much slower; not surprizingly, it
uses array.

"Much slower" is almost a factor two in both cases.

messages: 5801
nosy: arigo, pypy-issue
priority: performance bug
status: unread
title: Removing multimethods slows the nojit case

PyPy bug tracker <tracker at bugs.pypy.org>

More information about the pypy-issue mailing list