You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The `dfbench` program contains subcommands to run the various
@@ -321,6 +322,64 @@ FLAGS:
321
322
...
322
323
```
323
324
325
+
# Profiling Memory Stats for each benchmark query
326
+
The `mem_profile` program wraps benchmark execution to measure memory usage statistics, such as peak RSS. It runs each benchmark query in a separate subprocess, capturing the child process’s stdout to print structured output.
327
+
328
+
Subcommands supported by mem_profile are the subset of those in `dfbench`.
329
+
Currently supported benchmarks include: Clickbench, H2o, Imdb, SortTpch, Tpch
330
+
331
+
Before running benchmarks, `mem_profile` automatically compiles the benchmark binary (`dfbench`) using `cargo build` with the same cargo profile (e.g., --release) as mem_profile itself. By prebuilding the binary and running each query in a separate process, we can ensure accurate memory statistics.
332
+
333
+
Currently, `mem_profile` only supports `mimalloc` as the memory allocator, since it relies on `mimalloc`'s API to collect memory statistics.
334
+
335
+
Because it runs the compiled binary directly from the target directory, make sure your working directory is the top-level datafusion/ directory, where the target/ is also located.
0 commit comments