[Cython] Bindings performance issue
Vitja Makarov
vitja.makarov at gmail.com
Tue May 31 20:25:44 CEST 2011
Hi!
Is bindings performance issue valuable?
$ cat bindbench.pyx
def wo_bindings():
pass
def outer():
def inner():
pass
return inner
with_bindings = outer()
$ python
>>> import timeit
>>> timeit.repeat('with_bindings()', setup='from bindbench import wo_bindings, with_bindings', repeat=1, number=100000000)
[6.169871807098389]
>>> timeit.repeat('wo_bindings()', setup='from bindbench import wo_bindings, with_bindings', repeat=1, number=100000000)
[4.609416961669922]
PyCBindings makes it 1.3 (difference is about 15ns on my laptop) times
slower for CPython interpreter execution.
As CPython has some optimizations for CFunctions and PyCFunctions.
Does it make sense for us? Or we can easily switch to bindings?
--
vitja.
More information about the cython-devel
mailing list