fn gen_data<'py> (py: Python<'py>, a: Vec<u8>, b: Vec<u8>) -> PyResult<&'py PyBytes>{
let dp = MyDataStruct {
data: Bytes::from(a),
extra_info: Bytes::from(b),
};
Ok(PyBytes::new(py, &bincode::serialize(&dp).unwrap()[..]))
}
这是我的一段代码,它当然可以工作。但就速度而言,这是无法忍受的。我的怀疑是复制过程使它变慢。在我的机器上,我通过 numpy 将 5120x 5120 矩阵转换为字节并传递给它,这需要 3 秒才能完成工作。由于我的服务器非常好,我预计这类工作不会花很长时间
这是我的数据结构定义。
pub struct MyDataStruct {
pub data: bytes::Bytes,
pub extra_info: bytes::Bytes,
}