TimelyDataflow / abomonation

A mortifying serialization library for Rust
MIT License
317 stars 30 forks source link

Add support for u/i128 types #12

Closed antiguru closed 5 years ago

antiguru commented 5 years ago

Rust supports i128 and u128 since version 1.26.0. I think it's time to add support to Abomination as well.

Signed-off-by: Moritz Hoffmann antiguru@gmail.com

frankmcsherry commented 5 years ago

From discussion with @antiguru, my main anxiety about this is that I'm less confident that un-aligned reads of 128 bit data works correctly on modern processors than I am for un-aligned reads of 64 bit data.

What do you think of adding a test, a bit like the alignment test

#[test] fn test_alignment() { _test_pass(vec![(format!("x"), vec![1,2,3]); 1024]); }

which intentionally puts the 128 bit data at some unpleasant alignment?

frankmcsherry commented 5 years ago

These landed in #14, which came after this and for which I apologize. I have added the tests in a recent commit, and these changes should now be in place but without giving credit appropriately (sorry!).

I'm going to close this down now and try and get the larger types flowing through timely and differential now.