diff options
| author | Gabriel Schneider <[email protected]> | 2026-08-25 02:07:23 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-08-25 09:42:07 -0300 |
| commit | 6f48508aa08396bcf9dd4da2cab1d221bcc53f78 (patch) | |
| tree | 83daec3db5ac27ea3172651df2b3e9cb62eddb4a /build.zig | |
| parent | 28c70cabb6ceb7e5fecfd74f6984f5a995269f01 (diff) | |
| download | pardes-6f48508aa08396bcf9dd4da2cab1d221bcc53f78.tar.gz pardes-6f48508aa08396bcf9dd4da2cab1d221bcc53f78.zip | |
acmefs: pardes --fs serves acme's control filesystem over raw Linux FUSE
Diffstat (limited to 'build.zig')
| -rw-r--r-- | build.zig | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -1205,6 +1205,29 @@ pub fn build(b: *std.Build) void { run_perf.setCwd(b.path(".")); b.step("perf", "large-file / long-line latency table (-- [--json] [--reps N] [--base old.json])").dependOn(&run_perf.step); + // The filesystem scoreboard. Same shape as `perf` and for the same + // reason: it drives `acmefs.handle` through the real core, so it wants + // the core module rather than a second compilation of it, and + // ReleaseFast because a Debug run measures safety checks. It takes no + // mount point — there is no FUSE and no thread in it, which is exactly + // the claim the split makes and the thing worth measuring separately + // from the kernel's read/write/wake. + const fs_bench = b.addExecutable(.{ + .name = "pardes-fs-bench", + .root_module = b.createModule(.{ + .target = target, + .optimize = .ReleaseFast, + .root_source_file = b.path("test/fs_bench.zig"), + .link_libc = true, + }), + }); + fs_bench.root_module.addImport("pardes", hx_core_mod); + b.installArtifact(fs_bench); + const run_fs_bench = b.addRunArtifact(fs_bench); + if (b.args) |args| run_fs_bench.addArgs(args); + run_fs_bench.setCwd(b.path(".")); + b.step("fs-bench", "acme-fs per-request cost and allocation count (-- [--json] [--reps N])").dependOn(&run_fs_bench.step); + const unit_step = b.step("unit-test", "run native shell and module unit tests"); // Secure tempfile creation is native-shell IO, isolated from the core // and tested as its own libc-linked module. |
