[Python-Dev] Allowing Unicode literals even without Unicode support?
Guido van Rossum
guido@python.org
Mon, 27 May 2002 10:00:07 -0400
> People have requested this because they were shocked of the increase
> in size of the Python interpreter, which primarily originates from the
> Unicode character database. While I think people would get over their
> shock as time passes, I think creating a "small" interpreter for
> special-purpose applications is desirable, and just deleting Unicode
> support in such a build was (and still is) a low-hanging fruit.
I wanted to make a gesture towards the developers of the PalmOS port
(Pippy), who have struggled mightily to keep memory usage small. But
nothing is happening there (I've asked them to make it a SF project
but apparently Endeavors Technology refuses).
I think the iPAQ has enough memory to support Unicode, and that's the
only small platform I'm aware of that uses Python. Of course, there
are probably other embedded platforms -- but they have to speak up.
BTW, the savings aren't that big. I built Python with all the
configure options disabled that I could find (hm, there's no way to
disable complex from the command line so that's still in) and here are
the sizes:
text data bss dec hex filename (file size)
531629 92336 9804 633769 9aba9 small_python (1904k)
613718 117588 11612 742918 b5606 python (2168k)
> That said, I see no reason why the test suite should pass in such a
> build. I would suggest to let this code rot (as long as you can still
> build the interpreter without Unicode), and wait for users to complain
> that features don't work in disable-unicode builds that they think
> should work.
I don't think the tests have to pass. But I do think that importing a
module and using its basic functionality should work, unless perhaps
it is designed to work only with Unicode (like the XML modules). The
email package violates this: Charset.py starts with "from types import
UnicodeType" and it is in turn imported by the basic Message module.
> Maybe we can take this feature out in P3k when we find that nobody
> uses it. Until then, I would propose to leave it roughly at the state
> of WITHOUT_COMPLEX. Does anybody know whether the test suite passes if
> you build WITHOUT_COMPLEX?
Dunno, but there's much less code affected. (Although, like unicode,
I know of some unittests that use complex as an example of a "weird"
type.)
--Guido van Rossum (home page: http://www.python.org/~guido/)