On Tue, Apr 24, 2012 at 07:23:27PM +0000, Simon King wrote: > OK. But I think priority should be given to cythonization of the existing > metaclasses. Namely, Florent found out how one can produce a cdef'd > metaclasses, so that its instances (thus, usual classes) inherit the fast > methods (like __call__). One can cdefine NestedClassMetaclass and > derive from it a cdefined ClasscallMetaclass (my patch isn't posted > yet). Together with some tricks that Florent presented in his original > patch at #12808, one should get a considerable speedup in creation of > classes.
+1 > Also I found that one can simply rename sage/structure/dynamic_class.py > into sage/structure/dynamic_class.pyx -- that alone should yield some > speedup. And then one can likely gain even more from using Cython more > properly. Yes, I have seen that (but see my comment on the ticket) > But independent of that, I think at some point I will try to produce > a cdefined CustomisationMetaclass. *IF* it turns out that it can compete > speed-wise, then we can still decide whether we should use it to > refactor the existing metaclasses. +1 Cheers, Nicolas -- Nicolas M. ThiƩry "Isil" <nthi...@users.sf.net> http://Nicolas.Thiery.name/ -- You received this message because you are subscribed to the Google Groups "sage-combinat-devel" group. To post to this group, send email to sage-combinat-devel@googlegroups.com. To unsubscribe from this group, send email to sage-combinat-devel+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sage-combinat-devel?hl=en.