![]() |
Re: python 3 problem: how to convert an extension method into a classMethod
On 02/26/2013 09:21 AM, Robin Becker wrote:
> In python 2 I was able to improve speed of reportlab using a C extension to optimize some heavily used methods. > > so I was able to do this > > > class A: > ..... > def method(self,...): > .... > > > try: > from extension import c_method > import new > A.method = new.instancemethod(c_method,None,A) > except: > pass > > and if the try succeeds our method is bound as a class method ie is unbound and works fine when I call it. > > In python 3 this doesn't seem to work at all. In fact the new module is gone. The types.MethodType stuff doesn't seem to > work. > > Is there a way in Python 3.3 to make this happen? This particular method is short, but is called many times so adding > python wrapping layers is not a good way forward. Dumb question, but have you tried just assigning it? In Py3 methods are just normal functions... 8<---------------------- class A(): pass A.method = c_method 8<---------------------- -- ~Ethan~ |
| All times are GMT. The time now is 07:36 PM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.