The _Py_IDENTIFIER APIs will probably not be dropped from the CPython (internal) C API (yet), but removing usage from 3rd party projects will definitely help :)
The self.cursor() calls in connection.c can easily be inlined, with a performance gain; call pysqlite_connection_cursor() directly from pysqlite_connection_execute*() instead of going through 6 or 7 (!) function calls.
Future optimisation:
The upper() call in pysqlite_connection_create_collation() can be removed (take a look at python/cpython#27395)
Consider using interned strings for the value and finalize calls
See https://bugs.python.org/issue46541 and
The _Py_IDENTIFIER APIs will probably not be dropped from the CPython (internal) C API (yet), but removing usage from 3rd party projects will definitely help :)
The
self.cursor()
calls inconnection.c
can easily be inlined, with a performance gain; callpysqlite_connection_cursor()
directly frompysqlite_connection_execute*()
instead of going through 6 or 7 (!) function calls.Future optimisation:
upper()
call inpysqlite_connection_create_collation()
can be removed (take a look at python/cpython#27395)value
andfinalize
calls