Nils Bruin, 06.04.2013 21:37: > I can confirm that changing Compiler/TypeSlots.py, line 380 from: > > value = "Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES| > Py_TPFLAGS_HAVE_NEWBUFFER" > > to: > > value = "Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES| > Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_VERSION_TAG" > > indeed makes the difference in timing disappear. For extension classes > that don't mess directly with their tp_dict having this flag should be > entirely safe. > > See http://bugs.python.org/issue1700288 for background on the > introduction of the method cache in python and > http://bugs.python.org/issue1878 > for the reason why the flag is not included in Py_TPFLAGS_DEFAULT on > 2.7, but is in 3.*.
I wouldn't mind making it an "on by default" compiler directive. That would mean that you could switch it off with a class decorator at need. Any objections? Stefan _______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel