[pypy-dev] Performance degradation in the latest pypy

Maciej Fijalkowski fijall at gmail.com
Sat Oct 29 09:22:31 EDT 2016


Hi Saud

copy.copy is a lot slower in new pypy. Minimal example to reproduce it:


import copy, sys


class A(object):

    def __init__(self, a, b, c):

        self.a = a

        self.b = b

        self.c = c

        self.d = a

        self.e = b


a = [A(1, 2, 3), A(4, 5, 6), A(6, 7, 8)]


def f():

    for i in range(int(sys.argv[1])):

        copy.copy(a[i % 3])


f()


(run it with 1 000 000)

The quick workaround for you is to write a copy function manually,
since you use it in one specific place, that should make things a lot
faster.

In the meantime we'll look into the fix

On Sat, Oct 29, 2016 at 8:02 AM, Saud Alwasly <saudalwasli at gmail.com> wrote:
> here is the new zip file including the missing package
>
>
> On Fri, Oct 28, 2016 at 10:58 AM Maciej Fijalkowski <fijall at gmail.com>
> wrote:
>>
>> (vmprof)[brick:~/Downloads/dir] $ python Simulate.py
>>
>> Traceback (most recent call last):
>>
>>   File "Simulate.py", line 9, in <module>
>>
>>     from pypyplotPKG.Ploter import Graph, plot2, hist, bar, bar2
>>
>>   File "/Users/dev/Downloads/dir/pypyplotPKG/Ploter.py", line 1, in
>> <module>
>>
>>     import pypyplotPKG.pypyplot as plt
>>
>>   File "/Users/dev/Downloads/dir/pypyplotPKG/pypyplot.py", line 3, in
>> <module>
>>
>>     from shareddataPKG import SharedData as SharedData
>>
>> ImportError: No module named shareddataPKG
>>
>> On Fri, Oct 28, 2016 at 12:42 AM, Saud Alwasly <saudalwasli at gmail.com>
>> wrote:
>> > Sure, here it is.
>> > you can run Simulation.py
>> >
>> > On Wed, Oct 26, 2016 at 9:08 AM Armin Rigo <armin.rigo at gmail.com> wrote:
>> >>
>> >> Hi Saud,
>> >>
>> >> On 26 October 2016 at 11:19, Saud Alwasly <saudalwasli at gmail.com>
>> >> wrote:
>> >> > I have noticed severe  performance degradation after upgrading pypy
>> >> > from
>> >> > pypy4.0.1 to pypy5.4.1.
>> >> >
>> >> > I attached the call graph for the same script running on both:
>> >> > it seems that the copy module is an issue in the new version.
>> >>
>> >> Please give us an example of runnable code that shows the problem.  We
>> >> (or at least I) can't do anything with a call graph.
>> >>
>> >>
>> >> A bientôt,
>> >>
>> >> Armin.
>> >
>> >
>> > _______________________________________________
>> > pypy-dev mailing list
>> > pypy-dev at python.org
>> > https://mail.python.org/mailman/listinfo/pypy-dev
>> >


More information about the pypy-dev mailing list