temporenc 0.0.3

Library for the Temporenc time/date format.
Documentation
  • Coverage
  • 42.86%
    27 out of 63 items documented1 out of 23 items with examples
  • Size
  • Source code size: 104.29 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 5.99 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 9s Average build duration of successful builds.
  • all releases: 9s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • temporenc/temporenc-rust
    3 0 1
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • marshallpierce

Rust library for Temporenc, a binary date/time format.

Great performance is a high priority for this implementation. It uses a different struct for each of the temporal types (date, date and time, etc). This allows for hand-tuned serialization and deserialization logic for each type. There also is no heap allocation (aside from test code, of course).

See below for some sample performance numbers from an i7-6850K (a 3.6Ghz Broadwell-E chip). Batches of 100 are used because time measurement accuracy is poor when single operations only take a few nanoseconds.

Operation Quantity Type Time
Deserialize 100 random date 665ns
Deserialize 100 random date + time 985ns
Deserialize 100 random date + time + offset 974ns
Deserialize 100 random date + time + subsecond 1300ns
Deserialize 100 random date + time + subsecond + offset 1473ns
Deserialize 100 random time 801ns
Serialize 100 random date 288ns
Serialize 100 random date + time 435ns
Serialize 100 random date + time + offset 492ns
Serialize 100 random date + time + subsecond 897ns
Serialize 100 random date + time + subsecond + offset 982ns
Serialize 100 random time 277ns