PY_TYPE_CHECK

521 days ago by jason3

%cython from sage.all import Integer cpdef t1(x): cdef bint a for i in range(1000): a=PY_TYPE_CHECK(x,Integer) return a cpdef t2(x): cdef bint a for i in range(1000): a=isinstance(x,Integer) return a 
timeit('t1(1)') 
       
625 loops, best of 3: 24 µs per loop
625 loops, best of 3: 24 µs per loop
timeit('t2(1)') 
       
625 loops, best of 3: 35 µs per loop
625 loops, best of 3: 35 µs per loop
timeit('t1(int(1))') 
       
625 loops, best of 3: 43.3 µs per loop
625 loops, best of 3: 43.3 µs per loop
timeit('t2(int(1))') 
       
625 loops, best of 3: 174 µs per loop
625 loops, best of 3: 174 µs per loop
t1(int(1)) 
       
True
True
t2(int(1)) 
       
True
True