:1710077491:compare-example_mapping compare-example_mapping /run/current-system/sw/bin/candelabra-cli -l --manifest-path /opt/candelabra/src/tests/Cargo.toml -p example_mapping select --compare [2024-03-10T13:31:31Z INFO candelabra_cli] Using source dir: "/nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source" [2024-03-10T13:31:31Z DEBUG candelabra::candidates] Initialised candidate cacher with hash 10402570600929242768 [2024-03-10T13:31:31Z DEBUG primrose::library_specs] Failed to process library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/adaptive.rs. Continuing anyway. [2024-03-10T13:31:31Z DEBUG primrose::library_specs] Failed to process library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/profiler.rs. Continuing anyway. [2024-03-10T13:31:31Z DEBUG primrose::library_specs] Failed to process library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/traits.rs. Continuing anyway. [2024-03-10T13:31:31Z DEBUG candelabra::cost] Initialised benchmark cacher with hash 10402570600929242768 [2024-03-10T13:31:32Z INFO candelabra_cli::select] Processing project example_mapping [2024-03-10T13:31:32Z DEBUG primrose::selector] Setting up directories [2024-03-10T13:31:32Z DEBUG primrose::selector] Parsing into blocks [2024-03-10T13:31:32Z DEBUG primrose::selector] Running type checker [2024-03-10T13:31:32Z DEBUG primrose::selector] Running analysis [2024-03-10T13:31:32Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/adaptive.rs [2024-03-10T13:31:32Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/profiler.rs [2024-03-10T13:31:32Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/traits.rs [2024-03-10T13:31:32Z INFO primrose::selector] Finding container types for tag Map [2024-03-10T13:31:32Z DEBUG primrose::selector] std::collections::BTreeMap - ... [2024-03-10T13:31:32Z DEBUG primrose::selector] std::collections::BTreeMap - YAY [2024-03-10T13:31:32Z DEBUG primrose::selector] std::collections::HashMap - ... [2024-03-10T13:31:32Z DEBUG primrose::selector] std::collections::HashMap - YAY [2024-03-10T13:31:32Z INFO candelabra::profiler] Setting up /opt/candelabra/src/tests/example_mapping/src/types.pr.rs for profiling [2024-03-10T13:31:32Z DEBUG primrose::selector] Setting up directories [2024-03-10T13:31:32Z DEBUG primrose::selector] Parsing into blocks [2024-03-10T13:31:32Z DEBUG primrose::selector] Running type checker [2024-03-10T13:31:32Z DEBUG primrose::selector] Running analysis [2024-03-10T13:31:32Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/adaptive.rs [2024-03-10T13:31:32Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/profiler.rs [2024-03-10T13:31:32Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/traits.rs [2024-03-10T13:31:32Z INFO candelabra::profiler] Running benchmark main with out dir TempDir { path: "/tmp/.tmptJkm1D" } Compiling example_mapping v0.1.0 (/opt/candelabra/src/tests/example_mapping) Finished bench [optimized] target(s) in 3.06s Running benches/main.rs (/opt/candelabra/src/tests/target/release/deps/main-2ea61f050d4d0ca4) ┌──────┬───────────────────────────────────────────────────────────────────────────┬────────────────────┬───────────────────────────────────────────────────────────┐ │ name │ implementation │ estimated cost │ file │ ├──────┼───────────────────────────────────────────────────────────────────────────┼────────────────────┼───────────────────────────────────────────────────────────┤ │ Map │ std::collections::BTreeMap │ 4160922373.8816643 │ /opt/candelabra/src/tests/example_mapping/src/types.pr.rs │ │ Map │ std::collections::HashMap │ 38592649048.98443 │ /opt/candelabra/src/tests/example_mapping/src/types.pr.rs │ │ Map │ std::collections::HashMap until n=500000, then std::collections::BTreeMap │ 3278224119.883956 │ /opt/candelabra/src/tests/example_mapping/src/types.pr.rs │ └──────┴───────────────────────────────────────────────────────────────────────────┴────────────────────┴───────────────────────────────────────────────────────────┘ \begin{center} \begin{tabular}{|c|c|c|c|} name & implementation & estimated cost & file \\ \hline Map & std::collections::BTreeMap & 4160922373.8816643 & /opt/candelabra/src/tests/example\_mapping/src/types.pr.rs \\ Map & std::collections::HashMap & 38592649048.98443 & /opt/candelabra/src/tests/example\_mapping/src/types.pr.rs \\ Map & std::collections::HashMap until n=500000, then std::collections::BTreeMap & 3278224119.883956 & /opt/candelabra/src/tests/example\_mapping/src/types.pr.rs \\ \end{tabular} \end{center} [2024-03-10T13:32:19Z DEBUG candelabra::profiler::info] Checking for nsplit [2024-03-10T13:32:19Z DEBUG candelabra::profiler::info] Partitions: [ProfilerPartition { occurences: 1855.0, avg_n: 10000.0, avg_op_counts: {"first": 0.0, "contains": 0.0, "nth": 0.0, "clear": 0.0, "get": 20000.0, "remove": 0.0, "pop": 0.0, "insert": 10000.0, "push": 0.0, "last": 0.0} }, ProfilerPartition { occurences: 216.0, avg_n: 100000.0, avg_op_counts: {"first": 0.0, "get": 200000.0, "clear": 0.0, "push": 0.0, "nth": 0.0, "insert": 100000.0, "last": 0.0, "pop": 0.0, "contains": 0.0, "remove": 0.0} }, ProfilerPartition { occurences: 34.0, avg_n: 500000.0, avg_op_counts: {"get": 1000000.0, "push": 0.0, "remove": 0.0, "first": 0.0, "nth": 0.0, "insert": 500000.0, "contains": 0.0, "last": 0.0, "clear": 0.0, "pop": 0.0} }] [2024-03-10T13:32:19Z DEBUG candelabra::profiler::info] Costs by partitions: [("std::collections::HashMap", [912275326.6123441, 2365948793.2716117, 35314424929.10047]), ("std::collections::BTreeMap", [1605301080.7920835, 2555621293.0895805, 0.0])] [2024-03-10T13:32:19Z DEBUG candelabra::profiler::info] Top by partition: [("std::collections::HashMap", 912275326.6123441), ("std::collections::HashMap", 2365948793.2716117), ("std::collections::BTreeMap", 0.0)] [2024-03-10T13:32:19Z DEBUG candelabra::profiler::info] With split index 2, split proper is true [2024-03-10T13:32:19Z DEBUG candelabra::profiler::info] Estimated switching cost: 0 [2024-03-10T13:32:19Z DEBUG candelabra::profiler::info] Estimated not switching cost: 35314424929.10047 [2024-03-10T13:32:19Z DEBUG candelabra::profiler::info] Checking for nsplit [2024-03-10T13:32:19Z DEBUG candelabra::profiler::info] Partitions: [ProfilerPartition { occurences: 1855.0, avg_n: 10000.0, avg_op_counts: {"last": 0.0, "first": 0.0, "pop": 0.0, "remove": 0.0, "clear": 0.0, "nth": 0.0, "get": 20000.0, "push": 0.0, "insert": 10000.0, "contains": 0.0} }, ProfilerPartition { occurences: 216.0, avg_n: 100000.0, avg_op_counts: {"first": 0.0, "contains": 0.0, "nth": 0.0, "remove": 0.0, "last": 0.0, "get": 200000.0, "clear": 0.0, "pop": 0.0, "insert": 100000.0, "push": 0.0} }, ProfilerPartition { occurences: 34.0, avg_n: 500000.0, avg_op_counts: {"get": 1000000.0, "insert": 500000.0, "pop": 0.0, "first": 0.0, "contains": 0.0, "clear": 0.0, "remove": 0.0, "push": 0.0, "nth": 0.0, "last": 0.0} }] [2024-03-10T13:32:19Z DEBUG candelabra::profiler::info] Costs by partitions: [("std::collections::HashMap", [912275326.6123441, 2365948793.2716117, 35314424929.10047]), ("std::collections::BTreeMap", [1605301080.7920835, 2555621293.0895805, 0.0])] [2024-03-10T13:32:19Z DEBUG candelabra::profiler::info] Top by partition: [("std::collections::HashMap", 912275326.6123441), ("std::collections::HashMap", 2365948793.2716117), ("std::collections::BTreeMap", 0.0)] [2024-03-10T13:32:19Z DEBUG candelabra::profiler::info] With split index 2, split proper is true [2024-03-10T13:32:19Z DEBUG candelabra::profiler::info] Estimated switching cost: 0 [2024-03-10T13:32:19Z DEBUG candelabra::profiler::info] Estimated not switching cost: 35314424929.10047 [2024-03-10T13:32:19Z DEBUG candelabra::confirmation] Saving choices for project example_mapping [2024-03-10T13:32:19Z DEBUG candelabra::confirmation] Saving choices for /opt/candelabra/src/tests/example_mapping/src/types.pr.rs [2024-03-10T13:32:19Z DEBUG primrose::selector] Setting up directories [2024-03-10T13:32:19Z DEBUG primrose::selector] Parsing into blocks [2024-03-10T13:32:19Z DEBUG primrose::selector] Running type checker [2024-03-10T13:32:19Z DEBUG primrose::selector] Running analysis [2024-03-10T13:32:19Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/adaptive.rs [2024-03-10T13:32:19Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/profiler.rs [2024-03-10T13:32:19Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/traits.rs [2024-03-10T13:32:19Z INFO candelabra_cli::select] Saved best choices [2024-03-10T13:32:19Z INFO candelabra_cli::select] Running benchmarks with {("/opt/candelabra/src/tests/example_mapping/src/types.pr.rs", "Map"): std::collections::BTreeMap} [2024-03-10T13:32:19Z DEBUG candelabra::confirmation] Saving choices for project example_mapping [2024-03-10T13:32:19Z DEBUG candelabra::confirmation] Saving choices for /opt/candelabra/src/tests/example_mapping/src/types.pr.rs [2024-03-10T13:32:19Z DEBUG primrose::selector] Setting up directories [2024-03-10T13:32:19Z DEBUG primrose::selector] Parsing into blocks [2024-03-10T13:32:19Z DEBUG primrose::selector] Running type checker [2024-03-10T13:32:19Z DEBUG primrose::selector] Running analysis [2024-03-10T13:32:19Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/adaptive.rs [2024-03-10T13:32:19Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/profiler.rs [2024-03-10T13:32:19Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/traits.rs Compiling example_mapping v0.1.0 (/opt/candelabra/src/tests/example_mapping) Finished bench [optimized] target(s) in 2.76s Running benches/main.rs (/opt/candelabra/src/tests/target/release/deps/main-2ea61f050d4d0ca4) [2024-03-10T13:33:46Z INFO candelabra_cli::select] Running benchmarks with {("/opt/candelabra/src/tests/example_mapping/src/types.pr.rs", "Map"): std::collections::HashMap} [2024-03-10T13:33:46Z DEBUG candelabra::confirmation] Saving choices for project example_mapping [2024-03-10T13:33:46Z DEBUG candelabra::confirmation] Saving choices for /opt/candelabra/src/tests/example_mapping/src/types.pr.rs [2024-03-10T13:33:46Z DEBUG primrose::selector] Setting up directories [2024-03-10T13:33:46Z DEBUG primrose::selector] Parsing into blocks [2024-03-10T13:33:46Z DEBUG primrose::selector] Running type checker [2024-03-10T13:33:46Z DEBUG primrose::selector] Running analysis [2024-03-10T13:33:46Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/adaptive.rs [2024-03-10T13:33:46Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/profiler.rs [2024-03-10T13:33:46Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/traits.rs Compiling example_mapping v0.1.0 (/opt/candelabra/src/tests/example_mapping) Finished bench [optimized] target(s) in 2.84s Running benches/main.rs (/opt/candelabra/src/tests/target/release/deps/main-2ea61f050d4d0ca4) [2024-03-10T13:35:03Z INFO candelabra_cli::select] Running benchmarks with {("/opt/candelabra/src/tests/example_mapping/src/types.pr.rs", "Map"): std::collections::HashMap until n=500000, then std::collections::BTreeMap} [2024-03-10T13:35:03Z DEBUG candelabra::confirmation] Saving choices for project example_mapping [2024-03-10T13:35:03Z DEBUG candelabra::confirmation] Saving choices for /opt/candelabra/src/tests/example_mapping/src/types.pr.rs [2024-03-10T13:35:03Z DEBUG primrose::selector] Setting up directories [2024-03-10T13:35:03Z DEBUG primrose::selector] Parsing into blocks [2024-03-10T13:35:03Z DEBUG primrose::selector] Running type checker [2024-03-10T13:35:03Z DEBUG primrose::selector] Running analysis [2024-03-10T13:35:03Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/adaptive.rs [2024-03-10T13:35:03Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/profiler.rs [2024-03-10T13:35:03Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/traits.rs Compiling example_mapping v0.1.0 (/opt/candelabra/src/tests/example_mapping) Finished bench [optimized] target(s) in 3.01s Running benches/main.rs (/opt/candelabra/src/tests/target/release/deps/main-2ea61f050d4d0ca4) ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬──────────────────────────┐ │ assignment │ │ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────────┤ │ {("/opt/candelabra/src/tests/example_mapping/src/types.pr.rs", "Map"): std::collections::HashMap until n=500000, then std::collections::BTreeMap} │ 655160000.0 │ │ {("/opt/candelabra/src/tests/example_mapping/src/types.pr.rs", "Map"): std::collections::BTreeMap} │ 558890000.0 │ │ {("/opt/candelabra/src/tests/example_mapping/src/types.pr.rs", "Map"): std::collections::HashMap} │ 452460000.0 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────────────────────┘ \begin{center} \begin{tabular}{|c|c|} assignment & \\ \hline \{("/opt/candelabra/src/tests/example\_mapping/src/types.pr.rs", "Map"): std::collections::HashMap until n=500000, then std::collections::BTreeMap\} & 655160000.0 \\ \{("/opt/candelabra/src/tests/example\_mapping/src/types.pr.rs", "Map"): std::collections::BTreeMap\} & 558890000.0 \\ \{("/opt/candelabra/src/tests/example\_mapping/src/types.pr.rs", "Map"): std::collections::HashMap\} & 452460000.0 \\ \end{tabular} \end{center} section_end:1710077803:compare-example_mapping