nanofil/bench/default.nix
The runtime benchmark's binaries and inputs (docs/perf.md). Each program is built by filcc -O2 (ref), by plain clang without Fil-C (native) and by nanofil in every mode below, through the same nanofil-cc wrapper the Nix checks use, and kept unstripped for perf. Build with
nix build --impure -f nanofil/bench -o nanofil/bench/out
from the repository root (--argstr only O,O-stack builds just those nanofil modes); run.py then checks and times them.
| flake | default builtins.getFlaketoString../.. |
| pkgs | default importflake.inputs.nixpkgs system = "x86_64-linux"; |
| filcc | default flake.packages.x86_64-linux.filcc-staging |
| only | default "" |
The flake's copy of nanofil: tracked files only, not out/ or results.
Plain clang, no Fil-C (native): the LLVM version Fil-C is built from, behind the same kind of Nix wrapper and with the same flags.
NANOFIL_OPT for each nanofil mode. off is the reference backend without the middle end; the others are what a user would choose.
4 MiB of C source text from the four pinned tarballs, sorted by path and repeated, and 4 MiB of SHA-256 counter output. Both depend only on nixpkgs' pinned sources.