Advertisement
Guest User

Untitled

a guest
Aug 20th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. use std::time::{Instant, Duration};
  2. use std::sync::atomic::spin_loop_hint;
  3. use std::convert::TryInto;
  4. use slog::*;
  5.  
  6. pub fn main() {
  7. let decorator = slog_term::TermDecorator::new().build();
  8. let drain = slog_term::CompactFormat::new(decorator).build().fuse();
  9. let drain = slog_async::Async::new(drain).build().fuse();
  10.  
  11. let log = slog::Logger::root(drain, o!());
  12.  
  13. let mut counter = 0;
  14. let mut times = Vec::with_capacity(1000);
  15. let start = Instant::now();
  16.  
  17. loop {
  18. counter += 1;
  19.  
  20. if counter >= 1000 {
  21. break;
  22. }
  23.  
  24. times.push(Instant::now());
  25. }
  26.  
  27. let mut times: Vec<Duration> = times.iter().map(|t| *t - start).collect();
  28. times.sort();
  29.  
  30. info!(log, "{}", times[times.len() / 2].as_nanos());
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement