diff options
author | Vincent Ambo <mail@tazj.in> | 2024-10-13T10·19+0300 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2024-10-13T14·31+0000 |
commit | 5faf7c9d7b5fcf8fb2795b5879aece45d7c62b21 (patch) | |
tree | 4ccc1959a7ee0047f4724ccd0ff7e60a7b166c9c /tvix/nix-compat/benches/narinfo_parse.rs | |
parent | cb032b250e7b46ebc28038c8efb48f6a9c0ac75b (diff) |
refactor(tvix/nix-compat): remove use of lazy_static r/8802
This is now supported in the standard library via std::sync::LazyLock, but requires some manual shuffling around of code. I found at least one dead variable along the way, which I deleted. Change-Id: I8600c87c49078fb5ff72671994c77b919259e67b Reviewed-on: https://cl.tvl.fyi/c/depot/+/12608 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
Diffstat (limited to 'tvix/nix-compat/benches/narinfo_parse.rs')
-rw-r--r-- | tvix/nix-compat/benches/narinfo_parse.rs | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/tvix/nix-compat/benches/narinfo_parse.rs b/tvix/nix-compat/benches/narinfo_parse.rs index f35ba8468a88..ee2665a310d3 100644 --- a/tvix/nix-compat/benches/narinfo_parse.rs +++ b/tvix/nix-compat/benches/narinfo_parse.rs @@ -1,8 +1,9 @@ +use std::sync::LazyLock; +use std::{io, str}; + use criterion::{black_box, criterion_group, criterion_main, Criterion, Throughput}; -use lazy_static::lazy_static; use mimalloc::MiMalloc; use nix_compat::narinfo::NarInfo; -use std::{io, str}; #[global_allocator] static GLOBAL: MiMalloc = MiMalloc; @@ -19,18 +20,16 @@ Deriver: 2ch8jx910qk6721mp4yqsmvdfgj5c8ir-banking-0.3.0.drv Sig: cache.nixos.org-1:xcL67rBZPcdVZudDLpLeddkBa0KaFTw5A0udnaa0axysjrQ6Nvd9p3BLZ4rhKgl52/cKiU3c6aq60L8+IcE5Dw== "#; -lazy_static! { - static ref CASES: &'static [&'static str] = { - let data = - zstd::decode_all(io::Cursor::new(include_bytes!("../testdata/narinfo.zst"))).unwrap(); - let data = str::from_utf8(Vec::leak(data)).unwrap(); - Vec::leak( - data.split_inclusive("\n\n") - .map(|s| s.strip_suffix('\n').unwrap()) - .collect::<Vec<_>>(), - ) - }; -} +static CASES: LazyLock<&'static [&'static str]> = LazyLock::new(|| { + let data = + zstd::decode_all(io::Cursor::new(include_bytes!("../testdata/narinfo.zst"))).unwrap(); + let data = str::from_utf8(Vec::leak(data)).unwrap(); + Vec::leak( + data.split_inclusive("\n\n") + .map(|s| s.strip_suffix('\n').unwrap()) + .collect::<Vec<_>>(), + ) +}); pub fn parse(c: &mut Criterion) { let mut g = c.benchmark_group("parse"); |