Crates.io | timeharsh |
lib.rs | timeharsh |
version | 1.0.0 |
source | src |
created_at | 2017-03-08 20:42:58.208744 |
updated_at | 2024-06-23 21:24:23.092338 |
description | timeharsh implements the timehash algorithm, an algorithm for creating user configurable, variable-precision sliding windows of time. Useful for binning time values in large collections of data. |
homepage | https://github.com/dwyerk/timeharsh |
repository | https://github.com/dwyerk/timeharsh |
max_upload_size | |
id | 8892 |
size | 12,707 |
Timehash in Rust
This project is a Rust implementation of the timehash algorithm. The original algorithm was written in Python by Abe Usher and is available at https://github.com/abeusher/timehash
timehash is an algorithm (with multiple reference implementations) for calculating variable precision sliding windows of time. When performing aggregations and correlations on large-scale data sets, the ability to convert precise time values into 'malleable intervals' allows for many novel analytics.
An example use case of timehash is described in the following paper: https://isprs-annals.copernicus.org/articles/IV-4-W2/31/2017/isprs-annals-IV-4-W2-31-2017.pdf
extern crate timeharsh;
let hash1 = timehash::encode(1236532473.6328125, 6).unwrap();
// hash1 == "abcdef"
let t1 = timeharsh::timehash::decode("abcdef").unwrap();
// t1 == 1236532473.6328125
cargo build
cargo test