This looks like a really nice library. Looking at #7, it seems like the one place where there's room for improvement is handling types. Is it possible to look into just-in-time model for generating/compiling the C++ into a Python module? It would be something like PyTorch's torch.utils.cpp_extension.load. This would allow key and value to be any NumPy type simply by generating an instantiation of the template with an appropriate std::array<std::byte, N> template parameter where N is the size of the dtype.
One place I could see this being a problem is with #2 -- is that problem just because of the number of types, or is it intrinsic to compiling even one type?
This looks like a really nice library. Looking at #7, it seems like the one place where there's room for improvement is handling types. Is it possible to look into just-in-time model for generating/compiling the C++ into a Python module? It would be something like PyTorch's torch.utils.cpp_extension.load. This would allow key and value to be any NumPy type simply by generating an instantiation of the template with an appropriate
std::array<std::byte, N>template parameter whereNis the size of thedtype.One place I could see this being a problem is with #2 -- is that problem just because of the number of types, or is it intrinsic to compiling even one type?