Thanks so much for the detailed description of the otherwise undocumented DataStore
!
Is the DataStore
functionality you describe here working the same way in all versions from 11.0 until the current 13.1? Have any changes been made to it that one should be aware of? I am asking only about the functionality described in this post (independent of LLU), not any extensions that you did not discuss, should any be present. I am looking to use DataStore
for a library (pure LibraryLink, no LLU yet) that must work with Mathematica 11.0 and later. I'm basically asking whether I should be prepared for any surprises.
A final question: Have you ever compared the performance of using DataStore
vs WXF serialization for returning multiple results from a function? Is there any reason I should look at WXF (for which I would need to implement a serializer) assuming that: (1) DataStore supports all the types I'm interested in returning and (2) I am only returning a small fixed number of elements. Here I'm assuming that DataStore will definitely be faster than MathLink/WSTP.