Stefan Behnel, 06.04.2013 21:58: > 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.
Proposed patch: https://github.com/scoder/cython/commit/b1f10fa2c1bbb0a076807a9f391204c6a997ba9a > Any objections? Stefan _______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel