Cython:最有效的腌制和哈希方法,以及使用二进制数据

时间:2018-07-10 14:45:22

标签: python cython

我在Cython应用程序堆栈的底部有一个函数,该函数接受特定类或其子类的Python对象,并为其序列化表示形式创建SHA1哈希。

我知道这些方面的东西已经非常优化:

import hashlib
import pickle

def _hash(obj):
    return hashlib.sha1(pickle.dumps(obj)).digest()

因此,从Cython获益不多。但是,此后必须使用二进制哈希数据(数据对象没有被多次使用,但是哈希函数被大量调用),我想避免将其包装在Python对象中。

我可以吗

a)尝试将C API用于这些stdlib函数(不确定是否可以做到或什至有意义)

b)使用cdef函数并键入输出(我可以内联吗?如果输入是Python对象,我想不是)

c)随我所住?

谢谢。

0 个答案:

没有答案