stackhpc / reductionist-rs

S3 Active Storage server
Apache License 2.0
3 stars 0 forks source link

Add support for byte order #64

Closed markgoddard closed 1 year ago

markgoddard commented 1 year ago

Adds a new optional "byte_order" parameter to API request data that can be used to specify the byte order of the array data. It accepts values of "big" and "little".

If the byte order of the data does not match the native byte order of the server running Reductionist, the data's byte order is reversed prior to performing the operation.

A new "x-activestorage-byte-order" header is returned that describes the byte order of the response payload. This is always the native byte order of the server running Reductionist.

Also adds a byte_order benchmark. This can be run via:

cargo bench --bench byte_order

It benchmarks byte order reversal with multiple array sizes and both with and without a selection. This suggests that the optimisation for selections is worthwhile, when the selection covers less than roughly 2/3 of the data.

Finally, updates the version to 0.5.0 in preparation for release.