Wait. Are we talking about the C accelerator or the pure Python
implementation of pickle on Python 3?

Victor

Le 10 juil. 2017 01:19, "INADA Naoki" <songofaca...@gmail.com> a écrit :

> I don't know this is relating to your case.
>
> When I saw Victor's report [1], I researched why Python 3 is slower than
> Python 2 on unpickle_pure_python benchmark.
>
> [1] https://mail.python.org/pipermail/speed/2017-February/000503.html
>
>
> And I found Python 2 and 3 uses different version of pickle format.
>
> Current Python 3 uses "framing" format.  While unpickling, `read(1)` is
> very performance critical.  Python 2 uses `cStringIO.read` which is
> implemented in C.
> On the other hand, Python 3 uses `_Unframer.read` which is implemented
> in Python.
>
> Since this is not relating to "first import time", I don't know this
> is what you want to optimize.
> (Since _pickle is used for normal case, pure Python unpickle
> performance is not a common
> problem).
>
> If you want to optimize it, _Unframer uses BytesIO internally and
> performance critical
> part may be able to call BytesIO.read directly instead of _Unframer.read.
>
> Regards,
> INADA Naoki  <songofaca...@gmail.com>
>
>
> On Sun, Jul 9, 2017 at 11:08 PM, Bhavishya <bhavishyagop...@gmail.com>
> wrote:
> > Hello,
> >
> > 1).I was going through the code of python pickle to search any
> optimization
> > possibility.But the only thing that I found very alarming was again the
> > import time(I tried with lazy-import but it didn't helped much.)
> >
> > I found py3 to be ~45 times slower on initial imports(very raw
> > measure..using "time." ) as compared to py2 on an usual example.
> >
> > py3->
> > ./python -c '
> > favorite_color = { "lion": "yellow", "kitty": "red" }
> > pickle.dump( favorite_color, open( "save.p", "wb" ) )'
> > 0.009715557098388672(time taken to do initial imports...measured using
> > time.time() )
> >
> > py2->
> > ./python -c '
> > favorite_color = { "lion": "yellow", "kitty": "red" }
> > pickle.dump( favorite_color, open( "save.p", "wb" ) )'
> > 0.000236034393311(time taken to do initial imports...measured using
> > time.time() )
> >
> > Do you have any thought/ideas on improving this?
> >
> >
> > Thank You.
> _______________________________________________
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: https://mail.python.org/mailman/options/python-dev/
> victor.stinner%40gmail.com
>
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to