Fast mesh IO for addon development

Exactly, I have tried NumPy arrays, it did work, but not too much faster than raw Python list… here was my attempt:

So I was thinking if it actually silently convert NumPy array to Python list in foreach_get, maybe I was wrong.

Thank for your information! So Blender will build something like a lookup table for geometry processing, every time after I update vertices of it?
But actually I don’t expect user to be able to enter Object Mode (by pressing Tab) to edit the generated mesh… it will update every frame… Is it possible to dump a read-only mesh, to prevent Blender from building the lookup tables, like what the Blender built-in fluid solver does?