Me pregunto si es posible que el paquete ctypes interactúe con mmap.Python, ctypes y mmap
Actualmente, mi módulo asigna un búfer (con create_string_buffer
) y luego lo pasa usando byref
a la función de mis bibliotecas mylib.read
. Esto, como su nombre sugiere, lee datos en el búfer. Luego llamo al file.write(buf.raw)
para escribir los datos en el disco. Mis puntos de referencia, sin embargo, muestran que está lejos de ser óptimo (el tiempo pasado en file.write
es mejor tiempo invertido en mylib.read
).
Por lo tanto, me interesa saber si los ctypes pueden interoperar con mmap. Dada una instancia de mmap.mmap
y un desplazamiento, ¿cómo puedo obtener un puntero (c_void_p
) en el espacio de direcciones?
Python tiene un módulo [mmap] (http://docs.python.org/library/mmap.html). – Seth
@Seth la instancia 'mmap.mmap' a la que me refería es de ese módulo. Deseo saber cómo las instancias de este pueden interactuar con ctypes. –
¿Estás seguro de que deberías estar haciendo esto en Python? Los malabares de puntero de bajo nivel se adaptan mejor a C o su tipo. Tampoco es demasiado difícil escribir módulos C para una buena interfaz con Python. – katrielalex