Nick Coghlan <ncogh...@gmail.com> wrote:
> On 12 Oct 2013 05:49, "Eric Snow" <ericsnowcurren...@gmail.com> wrote:
> >
> > On Fri, Oct 11, 2013 at 1:41 PM, Stefan Krah <ste...@bytereef.org> wrote:
> > > Antoine Pitrou <solip...@pitrou.net> wrote:
> > >> Just create a _pydecimal module (like _pyio).
> > >
> > > That's very fast indeed. There's one minor problem: For backwards
> compatibility
> > > and pickling [1] I'd need to add
> > >
> > >     __module__ = 'decimal'
> > >
> > > to every class of the Python version. Are there any reasons not to do 
> > > that?
> >
> > Try just putting "__name__ = 'decimal'" at the top of the source file.
> 
> In this case the fixup needs to be conditional on the absence of "_decimal".
> Aside from that, yes, lying about name is the easiest way to preserve pickle
> compatibility while still moving code around.

Thanks Eric and Nick. The setup pretty much works (see issue #19232) and the
import speedup is quite large. I wonder if Cpython's startup time could be
reduced if this strategy was applied to other modules as well (see #19229).

There are some concerns whether the change would impact other Python
implementations, so I changed the subject (hoping for feedback).


Stefan Krah



_______________________________________________
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