use ordofp_core::pfds::{OrdMap, OrdSet};
use std::hint::black_box;
#[unsafe(no_mangle)]
#[inline(never)]
pub fn probe_get<'a>(m: &'a OrdMap<String, String>, k: &str) -> Option<&'a String> {
m.get(k)
}
#[unsafe(no_mangle)]
#[inline(never)]
pub fn probe_contains(m: &OrdMap<String, String>, k: &str) -> bool {
m.contains_key(k)
}
#[unsafe(no_mangle)]
#[inline(never)]
pub fn probe_set_contains(s: &OrdSet<String>, k: &str) -> bool {
s.contains(k)
}
fn main() {
let mut m = OrdMap::new();
let mut s = OrdSet::new();
for i in 0..32 {
m = m.insert(format!("field_{i:03}"), format!("value_{i}"));
s = s.insert(format!("tag_{i:03}"));
}
black_box(probe_get(black_box(&m), black_box("field_016")));
black_box(probe_contains(black_box(&m), black_box("field_016")));
black_box(probe_set_contains(black_box(&s), black_box("tag_016")));
}