Domanda

ho scritto qualche codice Python e ha funzionato bene quando si utilizza il "pitone". Ho poi convertito in C usando "Cython" e distutils utilizzati per la compilazione in una libreria condivisa. Poi ho cambiato parte del codice per Cython quindi sarebbe correre più veloce. Ma quando ho importato il modulo .so e ha cercato di utilizzare il comando che ho avuto "cdef" EDITA detto che il comando non esisteva. Codice originale:

import time as t
def time(function):
    t1 = t.time()
    function()
    t2 = t.time()
    return t2 - t1

Nuovo codice:

import time as t
cdef time(function):
    t1 = t.time()
    function()
    t2 = t.time()
    return t2 - t1

Ho provato ad utilizzare "cdef tempo int" ma ho ottenuto lo stesso risultato. Qualche consiglio?

È stato utile?

Soluzione

funzioni cdef non siano esposti a Python. cpdef è previsto per fornire un involucro Python a una funzione C definita in Cython.

Inoltre, siete probabilmente meglio utilizzare timeit che preoccuparsi con l'attuazione del presente .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top