#sleep #duration #time #might-sleep

might_sleep

limit cpu usage by estimating sleep time

2 unstable releases

0.2.0 Nov 19, 2022
0.1.0 Nov 16, 2022

#451 in Profiling

Download history 109/week @ 2024-12-16 61/week @ 2024-12-23 2/week @ 2024-12-30 78/week @ 2025-01-06 202/week @ 2025-01-13 90/week @ 2025-01-20 153/week @ 2025-01-27 203/week @ 2025-02-03 225/week @ 2025-02-10 50/week @ 2025-02-17 42/week @ 2025-02-24 32/week @ 2025-03-03 41/week @ 2025-03-10 66/week @ 2025-03-17 111/week @ 2025-03-24 89/week @ 2025-03-31

307 downloads per month

MIT/Apache

17KB

Crates.io MIT/Apache 2.0

might_sleep

Rust library for limiting the cpu usage by trying to target a specific frame rate. The library will internally estimate the time we need to sleep to reach the target fps, taking the programs execution time into account.

example code:

mod usage {
    use std::time::Duration;

    pub const LOW: Duration = Duration::from_millis(100);
    pub const NORMAL: Duration = Duration::from_millis(50);
}

fn main() {
    let mut cpu_limiter = CpuLimiter::new(usage::LOW);

    cpu_limiter.duration = usage::NORMAL; // usage is now normal (50ms delay)
    loop {
        println!("should be called every 50 ms");
        cpu_limiter.might_sleep();
    }
}

License

might_sleep is free and open source! All code in this repository is dual-licensed under either:

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

No runtime deps