1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
:1710077491:compare-example_mapping
[0Kcompare-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}
[0Ksection_end:1710077803:compare-example_mapping
[0K
|