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
|
:1710078247:compare-example_stack
[0Kcompare-example_stack
/run/current-system/sw/bin/candelabra-cli -l --manifest-path /opt/candelabra/src/tests/Cargo.toml -p example_stack select --compare
[2024-03-10T13:44:07Z INFO candelabra_cli] Using source dir: "/nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source"
[2024-03-10T13:44:07Z DEBUG candelabra::candidates] Initialised candidate cacher with hash 10402570600929242768
[2024-03-10T13:44:07Z DEBUG primrose::library_specs] Failed to process library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/adaptive.rs. Continuing anyway.
[2024-03-10T13:44:07Z DEBUG primrose::library_specs] Failed to process library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/profiler.rs. Continuing anyway.
[2024-03-10T13:44:07Z DEBUG primrose::library_specs] Failed to process library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/traits.rs. Continuing anyway.
[2024-03-10T13:44:07Z DEBUG candelabra::cost] Initialised benchmark cacher with hash 10402570600929242768
[2024-03-10T13:44:07Z INFO candelabra_cli::select] Processing project example_stack
[2024-03-10T13:44:07Z DEBUG primrose::selector] Setting up directories
[2024-03-10T13:44:07Z DEBUG primrose::selector] Parsing into blocks
[2024-03-10T13:44:07Z DEBUG primrose::selector] Running type checker
[2024-03-10T13:44:07Z DEBUG primrose::selector] Running analysis
[2024-03-10T13:44:07Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/adaptive.rs
[2024-03-10T13:44:07Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/profiler.rs
[2024-03-10T13:44:07Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/traits.rs
[2024-03-10T13:44:07Z INFO primrose::selector] Finding container types for tag StackCon
[2024-03-10T13:44:07Z DEBUG primrose::selector] std::collections::LinkedList - ...
[2024-03-10T13:44:07Z DEBUG primrose::selector] Checking bound Stack...
[2024-03-10T13:44:09Z DEBUG primrose::selector] std::collections::LinkedList - YAY
[2024-03-10T13:44:09Z DEBUG primrose::selector] std::vec::Vec - ...
[2024-03-10T13:44:09Z DEBUG primrose::selector] Checking bound Stack...
[2024-03-10T13:44:10Z DEBUG primrose::selector] std::vec::Vec - YAY
[2024-03-10T13:44:10Z INFO candelabra::profiler] Setting up /opt/candelabra/src/tests/example_stack/src/types.pr.rs for profiling
[2024-03-10T13:44:10Z DEBUG primrose::selector] Setting up directories
[2024-03-10T13:44:10Z DEBUG primrose::selector] Parsing into blocks
[2024-03-10T13:44:10Z DEBUG primrose::selector] Running type checker
[2024-03-10T13:44:10Z DEBUG primrose::selector] Running analysis
[2024-03-10T13:44:10Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/adaptive.rs
[2024-03-10T13:44:10Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/profiler.rs
[2024-03-10T13:44:10Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/traits.rs
[2024-03-10T13:44:10Z INFO candelabra::profiler] Running benchmark main with out dir TempDir { path: "/tmp/.tmpF2SNwH" }
Compiling example_stack v0.1.0 (/opt/candelabra/src/tests/example_stack)
Finished bench [optimized] target(s) in 2.81s
Running benches/main.rs (/opt/candelabra/src/tests/target/release/deps/main-3694756a33adc5ee)
┌──────────┬──────────────────────────────┬────────────────────┬─────────────────────────────────────────────────────────┐
│ name │ implementation │ estimated cost │ file │
├──────────┼──────────────────────────────┼────────────────────┼─────────────────────────────────────────────────────────┤
│ StackCon │ std::collections::LinkedList │ 3715654128004604 │ /opt/candelabra/src/tests/example_stack/src/types.pr.rs │
│ StackCon │ std::vec::Vec │ 369323545058541.06 │ /opt/candelabra/src/tests/example_stack/src/types.pr.rs │
└──────────┴──────────────────────────────┴────────────────────┴─────────────────────────────────────────────────────────┘
\begin{center}
\begin{tabular}{|c|c|c|c|}
name & implementation & estimated cost & file \\
\hline
StackCon & std::collections::LinkedList & 3715654128004604 & /opt/candelabra/src/tests/example\_stack/src/types.pr.rs \\
StackCon & std::vec::Vec & 369323545058541.06 & /opt/candelabra/src/tests/example\_stack/src/types.pr.rs \\
\end{tabular}
\end{center}
[2024-03-10T13:44:52Z DEBUG candelabra::profiler::info] Checking for nsplit
[2024-03-10T13:44:52Z DEBUG candelabra::profiler::info] Partitions: [ProfilerPartition { occurences: 610.0, avg_n: 1000000.0, avg_op_counts: {"get": 0.0, "clear": 0.0, "last": 0.0, "first": 0.0, "nth": 0.0, "push": 1000000.0, "insert": 0.0, "contains": 0.0, "remove": 0.0, "pop": 1000000.0} }, ProfilerPartition { occurences: 55.0, avg_n: 10000000.0, avg_op_counts: {"last": 0.0, "remove": 0.0, "nth": 0.0, "insert": 0.0, "get": 0.0, "push": 10000000.0, "pop": 10000000.0, "clear": 0.0, "first": 0.0, "contains": 0.0} }, ProfilerPartition { occurences: 5.0, avg_n: 50000000.0, avg_op_counts: {"get": 0.0, "nth": 0.0, "insert": 0.0, "contains": 0.0, "push": 50000000.0, "first": 0.0, "clear": 0.0, "remove": 0.0, "last": 0.0, "pop": 50000000.0} }]
[2024-03-10T13:44:52Z DEBUG candelabra::profiler::info] Costs by partitions: [("std::vec::Vec", [357699164922.01996, 30030307293494.707, 338935538600124.3]), ("std::collections::LinkedList", [3094563276267.368, 298517614072360.5, 3414041950655976.0])]
[2024-03-10T13:44:52Z DEBUG candelabra::profiler::info] Top by partition: [("std::vec::Vec", 357699164922.01996), ("std::vec::Vec", 30030307293494.707), ("std::vec::Vec", 338935538600124.3)]
[2024-03-10T13:44:52Z DEBUG candelabra::profiler::info] Checking for nsplit
[2024-03-10T13:44:52Z DEBUG candelabra::profiler::info] Partitions: [ProfilerPartition { occurences: 610.0, avg_n: 1000000.0, avg_op_counts: {"first": 0.0, "clear": 0.0, "nth": 0.0, "last": 0.0, "pop": 1000000.0, "get": 0.0, "remove": 0.0, "push": 1000000.0, "insert": 0.0, "contains": 0.0} }, ProfilerPartition { occurences: 55.0, avg_n: 10000000.0, avg_op_counts: {"pop": 10000000.0, "get": 0.0, "insert": 0.0, "contains": 0.0, "remove": 0.0, "push": 10000000.0, "first": 0.0, "clear": 0.0, "nth": 0.0, "last": 0.0} }, ProfilerPartition { occurences: 5.0, avg_n: 50000000.0, avg_op_counts: {"clear": 0.0, "push": 50000000.0, "first": 0.0, "last": 0.0, "contains": 0.0, "get": 0.0, "nth": 0.0, "insert": 0.0, "remove": 0.0, "pop": 50000000.0} }]
[2024-03-10T13:44:52Z DEBUG candelabra::profiler::info] Costs by partitions: [("std::vec::Vec", [357699164922.01996, 30030307293494.707, 338935538600124.3]), ("std::collections::LinkedList", [3094563276267.368, 298517614072360.5, 3414041950655976.0])]
[2024-03-10T13:44:52Z DEBUG candelabra::profiler::info] Top by partition: [("std::vec::Vec", 357699164922.01996), ("std::vec::Vec", 30030307293494.707), ("std::vec::Vec", 338935538600124.3)]
[2024-03-10T13:44:52Z DEBUG candelabra::confirmation] Saving choices for project example_stack
[2024-03-10T13:44:52Z DEBUG candelabra::confirmation] Saving choices for /opt/candelabra/src/tests/example_stack/src/types.pr.rs
[2024-03-10T13:44:52Z DEBUG primrose::selector] Setting up directories
[2024-03-10T13:44:52Z DEBUG primrose::selector] Parsing into blocks
[2024-03-10T13:44:52Z DEBUG primrose::selector] Running type checker
[2024-03-10T13:44:52Z DEBUG primrose::selector] Running analysis
[2024-03-10T13:44:52Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/adaptive.rs
[2024-03-10T13:44:52Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/profiler.rs
[2024-03-10T13:44:53Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/traits.rs
[2024-03-10T13:44:53Z INFO candelabra_cli::select] Saved best choices
[2024-03-10T13:44:53Z INFO candelabra_cli::select] Running benchmarks with {("/opt/candelabra/src/tests/example_stack/src/types.pr.rs", "StackCon"): std::collections::LinkedList}
[2024-03-10T13:44:53Z DEBUG candelabra::confirmation] Saving choices for project example_stack
[2024-03-10T13:44:53Z DEBUG candelabra::confirmation] Saving choices for /opt/candelabra/src/tests/example_stack/src/types.pr.rs
[2024-03-10T13:44:53Z DEBUG primrose::selector] Setting up directories
[2024-03-10T13:44:53Z DEBUG primrose::selector] Parsing into blocks
[2024-03-10T13:44:53Z DEBUG primrose::selector] Running type checker
[2024-03-10T13:44:53Z DEBUG primrose::selector] Running analysis
[2024-03-10T13:44:53Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/adaptive.rs
[2024-03-10T13:44:53Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/profiler.rs
[2024-03-10T13:44:53Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/traits.rs
Compiling example_stack v0.1.0 (/opt/candelabra/src/tests/example_stack)
Finished bench [optimized] target(s) in 2.52s
Running benches/main.rs (/opt/candelabra/src/tests/target/release/deps/main-3694756a33adc5ee)
[2024-03-10T13:46:08Z INFO candelabra_cli::select] Running benchmarks with {("/opt/candelabra/src/tests/example_stack/src/types.pr.rs", "StackCon"): std::vec::Vec}
[2024-03-10T13:46:08Z DEBUG candelabra::confirmation] Saving choices for project example_stack
[2024-03-10T13:46:08Z DEBUG candelabra::confirmation] Saving choices for /opt/candelabra/src/tests/example_stack/src/types.pr.rs
[2024-03-10T13:46:08Z DEBUG primrose::selector] Setting up directories
[2024-03-10T13:46:08Z DEBUG primrose::selector] Parsing into blocks
[2024-03-10T13:46:08Z DEBUG primrose::selector] Running type checker
[2024-03-10T13:46:08Z DEBUG primrose::selector] Running analysis
[2024-03-10T13:46:08Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/adaptive.rs
[2024-03-10T13:46:08Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/profiler.rs
[2024-03-10T13:46:09Z DEBUG primrose::library_specs] Ignoring invalid library module /nix/store/1vjbjqp60xw852rp1r7zdw6i6xcmja7j-source/crates/library/src/traits.rs
Compiling example_stack v0.1.0 (/opt/candelabra/src/tests/example_stack)
Finished bench [optimized] target(s) in 2.59s
Running benches/main.rs (/opt/candelabra/src/tests/target/release/deps/main-3694756a33adc5ee)
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────┬──────────────────────────┐
│ assignment │ │
├─────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────────┤
│ {("/opt/candelabra/src/tests/example_stack/src/types.pr.rs", "StackCon"): std::collections::LinkedList} │ 1884600000.0 │
│ {("/opt/candelabra/src/tests/example_stack/src/types.pr.rs", "StackCon"): std::vec::Vec} │ 305900000.0 │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────────────────────┘
\begin{center}
\begin{tabular}{|c|c|}
assignment & \\
\hline
\{("/opt/candelabra/src/tests/example\_stack/src/types.pr.rs", "StackCon"): std::collections::LinkedList\} & 1884600000.0 \\
\{("/opt/candelabra/src/tests/example\_stack/src/types.pr.rs", "StackCon"): std::vec::Vec\} & 305900000.0 \\
\end{tabular}
\end{center}
[0Ksection_end:1710078405:compare-example_stack
[0K
|