macro_rules! bench_main {
(allocator = none; $($groups:tt)*) => { ... };
(allocator = $allocator:path; $($groups:tt)*) => { ... };
($($groups:tt)*) => { ... };
}Expand description
Defines the entry point for GPUI Criterion benchmark groups.
This mirrors criterion::criterion_main! so GPUI benchmark files can keep the
same shape as ordinary Criterion benchmarks. It also installs
CountingAllocator as the binary’s global allocator, so reports include
heap allocations per iteration. It wraps the system allocator by default;
allocator = Path; wraps another unit-struct allocator instead, e.g. to
compare allocators, which pay the same small counting cost:
ⓘ
gpui::bench_main!(allocator = mimalloc::MiMalloc; benches);allocator = none; installs no global allocator, leaving Rust’s default and
dropping the allocation metrics from reports.