potential 3.0.1

PubSub lib with sync and async API
Documentation
use std::{iter, time::Instant};

use potential::sync::Pub;

fn main() {
    let mut publisher = Pub::default();
    let mut subs = publisher.subscribe();
    let  iterations = 1000000;
    let mut count = iterations;
    eprintln!("{iterations}");
    let start = Instant::now();
    for _ in 0..iterations {
        publisher.push(());
    }
    let time_pub = start.elapsed();
    let start = Instant::now();
    while let Ok(v) = subs.try_pop() {
        count -= 1;
    }
    let time_sub = start.elapsed();
    assert_eq!(count, 0);

    println!("pub {}", time_pub.as_secs_f32() / iterations as f32);
    println!("sub {}", time_sub.as_secs_f32() / iterations as f32);
}