+27
−4
Loading
Admins will be upgrading ORNL GitLab Servers on Saturday, 16 May 2026, from 7 AM until 11 AM EST. Repositories will experience intermittent outages during this time.
The vast majority of option definitions reaching mergeDefinitions are singletons whose value carries no _type wrapper (mkIf/mkMerge/ mkOverride/mkOrder). For those, the dischargeProperties -> filterOverrides' -> sortProperties pipeline is a no-op yet still costs ~125k function calls and ~70k thunks on a minimal NixOS system eval. Detect this case up front and reuse the input list as defsFinal'.values, keeping the addErrorContext around the value probe so error traces still point at the defining file. highestPrio is defaultOverridePriority by construction. A single-fold filterOverrides' was prototyped but allocates an attrset per definition and regressed gc.totalBytes; with the fast path in place that function is no longer hot enough to matter. NIX_SHOW_STATS, minimal `nix-instantiate ./nixos -A system`: nrFunctionCalls 5490285 -> 5365172 (-125113) nrThunks 8182569 -> 8112150 (-70419) gc.totalBytes 640.0M -> 635.2M (-4.8M)