如何使用Rust收集传感器数据的时间序列/流,然后从Python获取此数据(而Rust继续收集数据)?
目标是让Rust继续收集数据并允许Python调用允许查询/检索此数据的函数。例如,过去5分钟内的所有观察结果。
这是否可以在不复制内存的情况下实现(类似于numpy数组的视图),或者在Python运行时接收内存时是否必须复制内存?
如果需要复制内存,那么在Rust中运行它的运行时成本与在C中执行它的成本相比如何?与Rust相比,C会更简单/更容易实现吗(作为新手C程序员,我喜欢Rust提供的安全/工具)?
总之,我想了解如何:
答案 0 :(得分:0)
你的问题是模糊的回答是正确的,让我建议你一些方法。
您可以使用某种数据库(例如sqlite,postgresql,...),文件系统存储(纯文本文件,套接字),甚至可以使用(JSON)API构建Web服务器。
根据你想要使用的东西,有一切箱子(纯文本是std,sqlite,postgres,diesel,hyper,serde等)。
关于这个实现的巧妙之处在于它是独立的编程语言,如果你决定稍后用Java重新编写代码(无论出于何种原因:)),你只需要改变java读出代码的方式数据库/ socket / webserver。
您可以在github.com查看alex中的示例,但请注意您可以在FFI中使用的类型,例如整数类型,如i32,u32,i8,指针,浮点数,但像字符串之类的东西可能会变得很毛茸茸,所以如果只使用整数,那就使用它。