You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We currently store all incoming log messages (so we can save them as .rrd files) while also indexing and storing their contents in the data store. This basically duplicate all data.
We should make sure that big components, such as meshes and tensors, use Arc under the hood so that the log messages and the store can share the memory.
Currently we use Vec when storing the contents of an image (TensorData::U8) and a mesh (RawMesh3D).
We want to use ref-counted types like Arc or arrow2::Buffer, otherwise we duplicate our memory use.
The natural thing to use is arrow2::Buffer<u8> or Arc<[u8], but neither of those implement ArrowSerialize/ArrowDeserialize yet (see below).
While I definitely agree with these improvements I think this issue also points to a higher level question: should we really be keeping all the incoming log messages in memory at all?
First of all we should probably make it easier to set up ways to stream messages directly to a file, both from the SDK and as it hits the viewer / server.
Still, it's very useful to be able to decide to save a recording (.rrd file) after the fact. Shouldn't we be able to to quite simply serialize and deserialize the data store to achieve the same ends?
We currently store all incoming log messages (so we can save them as .rrd files) while also indexing and storing their contents in the data store. This basically duplicate all data.
We should make sure that big components, such as meshes and tensors, use
Arc
under the hood so that the log messages and the store can share the memory.Currently we use
Vec
when storing the contents of an image (TensorData::U8
) and a mesh (RawMesh3D
).We want to use ref-counted types like
Arc
orarrow2::Buffer
, otherwise we duplicate our memory use.The natural thing to use is
arrow2::Buffer<u8>
orArc<[u8]
, but neither of those implementArrowSerialize/ArrowDeserialize
yet (see below).See also:
Buffer<u8>>
DataEngineeringLabs/arrow2-convert#101ArrowSerialize
+ArrowDeserialize
forArc
DataEngineeringLabs/arrow2-convert#102An alternative solution is to not store
LogMsg
es at all and instead the data store to file.The text was updated successfully, but these errors were encountered: