我想知道ctypes包是否可以与mmap连接.
目前,我的模块分配一个缓冲区(with create_string_buffer),然后将其传递byref给我的库mylib.read函数.顾名思义,这将数据读入缓冲区.然后我调用file.write(buf.raw)将数据写入磁盘.然而,我的基准测试表明,这远远不是最佳状态(花费的file.write时间更好地花费在时间上mylib.read).
因此,我有兴趣知道ctypes是否可以与mmap互操作.给定一个mmap.mmap实例和一个偏移量我怎样才能将指针(c_void_p)带入地址空间?
Ale*_*lli 12
一个mmap对象"支持可写缓冲区接口",因此您可以使用from_buffer类方法,所有ctypes类都以mmap实例作为参数,创建一个ctypes就像您想要的对象,即共享内存(以及底层)文件)mmap实例已映射.我想,具体来说,你会想要一个合适的ctypes 阵列.
| 归档时间: |
|
| 查看次数: |
3089 次 |
| 最近记录: |