The problem is usually that "performance later" is never done because noone looks at those places
On Mon, Feb 1, 2016 at 11:06 AM, Amaury Forgeot d'Arc <amaur...@gmail.com> wrote: > 2016-02-01 9:59 GMT+01:00 Maciej Fijalkowski <fij...@gmail.com>: >> >> Those things are probably why pypy3 is so much slower than pypy2 > > > Agreed. I prefer to have things correct first, and work on performance > later. > For this particular case though, do you have an idea on how to improve this? > Pass the UnicodeBuilder to unicodedb.toupper_full()? > >> >> >> On Mon, Feb 1, 2016 at 12:42 AM, amauryfa <pypy.comm...@gmail.com> wrote: >> > Author: Amaury Forgeot d'Arc <amaur...@gmail.com> >> > Branch: py3.3 >> > Changeset: r82021:44aa48e4d16a >> > Date: 2016-02-01 00:31 +0100 >> > http://bitbucket.org/pypy/pypy/changeset/44aa48e4d16a/ >> > >> > Log: Fix unicode.capitalize() test to pass with CPython3.3, and >> > implement >> > it for PyPy. Probably not the fastest implementation... >> > >> > diff --git a/pypy/objspace/std/test/test_unicodeobject.py >> > b/pypy/objspace/std/test/test_unicodeobject.py >> > --- a/pypy/objspace/std/test/test_unicodeobject.py >> > +++ b/pypy/objspace/std/test/test_unicodeobject.py >> > @@ -217,7 +217,7 @@ >> > # check that titlecased chars are lowered correctly >> > # \u1ffc is the titlecased char >> > assert ('\u1ff3\u1ff3\u1ffc\u1ffc'.capitalize() == >> > - '\u1ffc\u1ff3\u1ff3\u1ff3') >> > + '\u03a9\u0399\u1ff3\u1ff3\u1ff3') >> > # check with cased non-letter chars >> > assert ('\u24c5\u24ce\u24c9\u24bd\u24c4\u24c3'.capitalize() == >> > '\u24c5\u24e8\u24e3\u24d7\u24de\u24dd') >> > diff --git a/pypy/objspace/std/unicodeobject.py >> > b/pypy/objspace/std/unicodeobject.py >> > --- a/pypy/objspace/std/unicodeobject.py >> > +++ b/pypy/objspace/std/unicodeobject.py >> > @@ -155,13 +155,16 @@ >> > return unicodedb.islinebreak(ord(ch)) >> > >> > def _upper(self, ch): >> > - return unichr(unicodedb.toupper(ord(ch))) >> > + return u''.join([unichr(x) for x in >> > + unicodedb.toupper_full(ord(ch))]) >> > >> > def _lower(self, ch): >> > - return unichr(unicodedb.tolower(ord(ch))) >> > + return u''.join([unichr(x) for x in >> > + unicodedb.tolower_full(ord(ch))]) >> > >> > def _title(self, ch): >> > - return unichr(unicodedb.totitle(ord(ch))) >> > + return u''.join([unichr(x) for x in >> > + unicodedb.totitle_full(ord(ch))]) >> > >> > def _newlist_unwrapped(self, space, lst): >> > return space.newlist_unicode(lst) >> > _______________________________________________ >> > pypy-commit mailing list >> > pypy-com...@python.org >> > https://mail.python.org/mailman/listinfo/pypy-commit >> _______________________________________________ >> pypy-dev mailing list >> pypy-dev@python.org >> https://mail.python.org/mailman/listinfo/pypy-dev > > > > > -- > Amaury Forgeot d'Arc _______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev