Skip to content

Commit

Permalink
Add PROBE to macro-benchmarks (#43)
Browse files Browse the repository at this point in the history
  • Loading branch information
charmoniumQ authored Dec 7, 2024
1 parent b4b1d85 commit b13c3e9
Show file tree
Hide file tree
Showing 16 changed files with 4,961 additions and 335 deletions.
42 changes: 21 additions & 21 deletions benchmark/experiment.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,27 +137,27 @@ def run_experiments(
# Extracting a minimal set of fields
# So we don't have all ExperimentStats in memory at once
for i, (prov_collector, workload, stats) in enumerate(result_list):
counter = collections.Counter(
op.type for op in stats.operations
) if stats is not None else None
record = {
"collector": prov_collector.name,
"collector_method": prov_collector.method,
"collector_submethod": prov_collector.submethod,
"workload": workload.name,
"workload_kind": workload.kind,
"cputime": stats.cputime,
"walltime": stats.walltime,
"memory": stats.memory,
"storage": stats.provenance_size,
"n_ops": len(stats.operations),
# "n_unique_files": n_unique(itertools.chain(
# (op.target0 for op in stats.operations),
# (op.target1 for op in stats.operations),
# )),
"op_type_counts": counter,
} if stats is not None else None
records.append(record)
if stats is not None:
counter = collections.Counter(
op.type for op in stats.operations
)
records[i] = {
"collector": prov_collector.name,
"collector_method": prov_collector.method,
"collector_submethod": prov_collector.submethod,
"workload": workload.name,
"workload_kind": workload.kind,
"cputime": stats.cputime,
"walltime": stats.walltime,
"memory": stats.memory,
"storage": stats.provenance_size,
"n_ops": len(stats.operations),
# "n_unique_files": n_unique(itertools.chain(
# (op.target0 for op in stats.operations),
# (op.target1 for op in stats.operations),
# )),
"op_type_counts": counter,
}
results_df = (
pandas.DataFrame.from_records(list(filter(bool, records)))
.assign(**{
Expand Down
129 changes: 128 additions & 1 deletion benchmark/flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion benchmark/flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,13 @@
# Use newer Nix to apply this bugfix
# https://github.com/NixOS/nix/pull/10467
inputs.new-nixos.url = "github:NixOS/nixpkgs";

inputs.probe.url = "../";
outputs = {
self,
nixpkgs,
flake-utils,
probe,
...
} @ inputs:
flake-utils.lib.eachDefaultSystem (
Expand Down Expand Up @@ -113,6 +116,7 @@
pypkgs.scikit-learn
pypkgs.nbconvert
jupyter-contrib-nbextensions
pypkgs.xgboost
]))
];
};
Expand Down Expand Up @@ -220,7 +224,6 @@
rev = "master";
hash = "sha256-HFgqYEHanlwA0FA/7kOSsmcPzcb8BLJ3lG74DV5RtBA=";
};
a = "hi";
patches = [./splash-3.diff];
nativeBuildInputs = [pkgs.m4 pkgs.binutils];
sourceRoot = "source/codes";
Expand Down Expand Up @@ -786,6 +789,7 @@
# proot provides tests with `make -C test` however they do not run in the sandbox
doCheck = false;
};
probe-pkg = probe.packages.${system}.probe-bundled;
lftp = pkgs.lftp;
wget = pkgs.wget;
libseccomp = pkgs.libseccomp.lib;
Expand Down
Loading

0 comments on commit b13c3e9

Please sign in to comment.