Stefan Behnel, 13.08.2010 15:19: > Robert Bradshaw, 27.07.2010 21:43: >> On Tue, Jul 27, 2010 at 12:33 PM, Carl Witty wrote: >>> On Tue, Jul 27, 2010 at 2:07 AM, Robert Bradshaw wrote: >>>> Very, very cool. I've actually been thinking a lot about this myself >>>> (given the recent thread in sage-devel). I think one reason we did our >>>> own wrappers was for introspection/docstrings--does that break? Did >>>> you fix the most egregious __getattr__? >>> >>> Yes, this does break docstrings on these functions. I think this >>> could be fixed; for instance, by creating our own statically-declared >>> wrapperbase/slotdef structs that have the right docstring, and >>> creating our own wrapper objects using these structs. I could try to >>> work on this, but probably not soon enough for 0.13. >> >> Well, for special methods, I consider this kind of performance >> degradation to be a more important issue than introspection. > > I just compiled lxml with the current cython-devel and the resulting module > failed during initialisation when it tried to retrieve the docstring for a > "__getattr__" method when building the automatically generated __test__ > dict. Seeing that I used this, I'm pretty sure others did, too. So we will > clearly break user code with this change. > > So, I'm -1 on applying the change for 0.13 without keeping the > functionality compatible with what we had before. This is a pure > optimisation, so it must not break code.
I saw that Robert worked on this but ISTM that __getattr__ is more special than other special methods in some way. I still get the above error. I pushed an update to the related test to make it fail. Stefan _______________________________________________ Cython-dev mailing list Cython-dev@codespeak.net http://codespeak.net/mailman/listinfo/cython-dev