Marc-Andre Lemburg <m...@egenix.com> added the comment: Alexander Belopolsky wrote: > > Alexander Belopolsky <belopol...@users.sourceforge.net> added the comment: > > On Thu, Jun 17, 2010 at 10:31 AM, Marc-Andre Lemburg <rep...@bugs.python.org> > wrote: > .. >> To avoid the wasted memory and import time, it's better to use: >> >> try: >> from _cmodule import * >> except ImportError: >> from _pymodule import * >> > > Hmm, I cannot find the relevant thread, but I thought this was rejected at > some point. Personally, I don't like this at all for the following reasons: > > 1. This introduces two _.. names instead of one. > > 2. This departs from established convention that C (or native) implementation > for modulename is in _modulename, not _cmodulename. Non-C implementations > may still provide native _modulename, but would not want to call it > _cmodulename. > > 3. Hiding python code in _pymodule makes it harder to find it.
Well, you wanted to have two implementation of the same thing in the stdlib :-) I personally don't think that's a good idea. We've had trouble in the past of keeping pickle.py and cPickle.c in sync, it's not going to be much different with those two datetime implementations. In any case, we shouldn't make regular CPython use of datetime slower and use more memory, just to make life easier for PyPy. >> Why not import the two modules directly ? >> >> import _cmodule as module >> and >> import _pymodule as module >> > > Because this requires having two modules in the first place. Where's the problem ? Disk space ? ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue7989> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com