The streaming buffers version that we have right now is pretty performant in Dart.
However, if you have all the bytes up front...then it certainly could have the potential to be even faster (at the expense of larger in-memory buffers).
The VAST Platform implements an optimized version by extensions on ByteArray/String like lz4Compress/lz4Decompress.
In a 455MB example (linux-3.3.tar), the lz4Compress was 1.2 seconds in-memory and the streaming was 2.2 seconds.
I believe we can do something similar here whenever encode()/decode() is called.
The streaming buffers version that we have right now is pretty performant in Dart. However, if you have all the bytes up front...then it certainly could have the potential to be even faster (at the expense of larger in-memory buffers).
The VAST Platform implements an optimized version by extensions on ByteArray/String like lz4Compress/lz4Decompress. In a 455MB example (linux-3.3.tar), the lz4Compress was 1.2 seconds in-memory and the streaming was 2.2 seconds.
I believe we can do something similar here whenever encode()/decode() is called.