1 unstable release
| 0.1.0 | Dec 2, 2025 |
|---|
#1639 in Asynchronous
17KB
312 lines
evalsync
Experiment synchronization library for benchmark coordination via ZeroMQ.
Usage
use evalsync::{init, ready, wait_for_start, wait_for_end};
fn main() -> Result<(), String> {
// Initialize with experiment ID and client ID
init("my-experiment", "worker-1", true)?;
// Signal ready state
ready()?;
// Wait for manager to signal start
wait_for_start()?;
// ... run benchmark workload ...
// Wait for manager to signal end
wait_for_end()?;
Ok(())
}
Environment Variables
Alternatively, use init_env() which reads from environment variables:
EVALSYNC_EXPERIMENT_ID- Experiment identifierEVALSYNC_CLIENT_ID- Client/worker identifierEVALSYNC_VERBOSE- Set to "1" for verbose logging
License
MIT
Dependencies
~1.3–4MB
~82K SLoC