Time Series Compression for Math.NET Numerics using DeltaCodec

Jun 12, 2015 at 12:00 AM
I just wanted to let users know about a new time series compression library that might be very useful in conjunction with Math.NET: DeltaCodec.

This allows a developer to directly encode and decode lists or arrays of any intrinsic data type.
For example,
var codec = DeflateDeltaCodec.Instance;
var bytes = codec.Encode(IList<T> list);
var listOut = codec.Decode<T>(bytes);
Custom codecs or codec methods can be added to handle arbitrarily complex data structures.

Differencing the time series improves the ratio significantly, and speed can be enhanced by encoding multiple blocks concurrently.
For example,
var bytes = codec.Encode(list, numBlocks: 4, level: CompressionLevel.Fastest);
The ability to easily create new codecs that combine custom preprocessing transforms with a wide variety of general purpose "finishing" compressors is very powerful.

I Hope others will find this useful.

Jun 14, 2015 at 4:06 PM
I'm about to move this discussion board from Codeplex to http://discuss.mathdotnet.com/c/numerics.
May I ask to to post this there instead?