It may be possible to reduce the size of ProtocolDAGResults and other GufeTokenizables that require the use of numpy arrays for storing numerical data if we apply compression against the byte form of the array, followed by base64 encoding the compressed form for inclusion in the JSON-serialized form. It's unclear a priori by how much this will reduce sizes, but may be better than including the data in uncompressed byte form as we do currently.
For high decompression speed, use of python-zstandard might be the best approach.
It may be possible to reduce the size of
ProtocolDAGResult
s and otherGufeTokenizable
s that require the use ofnumpy
arrays for storing numerical data if we apply compression against the byte form of the array, followed by base64 encoding the compressed form for inclusion in the JSON-serialized form. It's unclear a priori by how much this will reduce sizes, but may be better than including the data in uncompressed byte form as we do currently.For high decompression speed, use of python-zstandard might be the best approach.