pub fn fastrandu() -> usizeExamples found in repository?
examples/fastrand.rs (line 28)
23fn main() {
24 println!("{:08x}", ggstd::runtime::fastrand());
25 println!("{:08x}", ggstd::runtime::fastrand());
26 println!("{:16x}", ggstd::runtime::fastrand64());
27 println!("{:16x}", ggstd::runtime::fastrand64());
28 println!("{:x}", ggstd::runtime::fastrandu());
29 println!("{:x}", ggstd::runtime::fastrandu());
30 println!("{}", ggstd::runtime::fastrandn(100));
31 println!("{}", ggstd::runtime::fastrandn(100));
32 println!();
33
34 // testing speed
35 {
36 use std::time::Instant;
37
38 let count = 10_000_000;
39
40 {
41 let start_time = Instant::now();
42 for _ in 0..count {
43 ggstd::runtime::fastrandn(1_000_000_000);
44 }
45 let elapsed = Instant::now().duration_since(start_time);
46 println!("fastrand: {:6} ms", elapsed.as_millis());
47 }
48
49 {
50 let start_time = Instant::now();
51 for _ in 0..count {
52 rand::int31n(1_000_000_000);
53 }
54 let elapsed = Instant::now().duration_since(start_time);
55 println!("math::rand global: {:6} ms", elapsed.as_millis());
56 }
57
58 {
59 let start_time = Instant::now();
60 let mut r = rand::Rand::new(rand::new_source(123));
61 for _ in 0..count {
62 r.int31n(1_000_000_000);
63 }
64 let elapsed = Instant::now().duration_since(start_time);
65 println!("math::rand::Rand: {:6} ms", elapsed.as_millis());
66 }
67 }
68}