@@ -6,7 +6,7 @@ static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc;
6
6
7
7
use re_log_types:: {
8
8
datagen:: { build_frame_nr, build_some_colors, build_some_point2d} ,
9
- entity_path, ArrowMsg , DataRow , DataTable , Index , LogMsg , MsgId ,
9
+ entity_path, ArrowMsg , DataRow , DataTable , Index , LogMsg , MsgId , RecordingId ,
10
10
} ;
11
11
12
12
use criterion:: { criterion_group, criterion_main, Criterion } ;
@@ -42,18 +42,18 @@ fn decode_log_msgs(mut bytes: &[u8]) -> Vec<LogMsg> {
42
42
messages
43
43
}
44
44
45
- fn generate_messages ( tables : & [ DataTable ] ) -> Vec < LogMsg > {
45
+ fn generate_messages ( recording_id : RecordingId , tables : & [ DataTable ] ) -> Vec < LogMsg > {
46
46
tables
47
47
. iter ( )
48
- . map ( |table| LogMsg :: ArrowMsg ( ArrowMsg :: try_from ( table) . unwrap ( ) ) )
48
+ . map ( |table| LogMsg :: ArrowMsg ( recording_id , ArrowMsg :: try_from ( table) . unwrap ( ) ) )
49
49
. collect ( )
50
50
}
51
51
52
52
fn decode_tables ( messages : & [ LogMsg ] ) -> Vec < DataTable > {
53
53
messages
54
54
. iter ( )
55
55
. map ( |log_msg| {
56
- if let LogMsg :: ArrowMsg ( arrow_msg) = log_msg {
56
+ if let LogMsg :: ArrowMsg ( _ , arrow_msg) = log_msg {
57
57
DataTable :: try_from ( arrow_msg) . unwrap ( )
58
58
} else {
59
59
unreachable ! ( )
@@ -81,21 +81,22 @@ fn mono_points_arrow(c: &mut Criterion) {
81
81
}
82
82
83
83
{
84
+ let recording_id = RecordingId :: random ( ) ;
84
85
let mut group = c. benchmark_group ( "mono_points_arrow" ) ;
85
86
group. throughput ( criterion:: Throughput :: Elements ( NUM_POINTS as _ ) ) ;
86
87
group. bench_function ( "generate_message_bundles" , |b| {
87
88
b. iter ( generate_tables) ;
88
89
} ) ;
89
90
let tables = generate_tables ( ) ;
90
91
group. bench_function ( "generate_messages" , |b| {
91
- b. iter ( || generate_messages ( & tables) ) ;
92
+ b. iter ( || generate_messages ( recording_id , & tables) ) ;
92
93
} ) ;
93
- let messages = generate_messages ( & tables) ;
94
+ let messages = generate_messages ( recording_id , & tables) ;
94
95
group. bench_function ( "encode_log_msg" , |b| {
95
96
b. iter ( || encode_log_msgs ( & messages) ) ;
96
97
} ) ;
97
98
group. bench_function ( "encode_total" , |b| {
98
- b. iter ( || encode_log_msgs ( & generate_messages ( & generate_tables ( ) ) ) ) ;
99
+ b. iter ( || encode_log_msgs ( & generate_messages ( recording_id , & generate_tables ( ) ) ) ) ;
99
100
} ) ;
100
101
101
102
let encoded = encode_log_msgs ( & messages) ;
@@ -136,21 +137,22 @@ fn mono_points_arrow_batched(c: &mut Criterion) {
136
137
}
137
138
138
139
{
140
+ let recording_id = RecordingId :: random ( ) ;
139
141
let mut group = c. benchmark_group ( "mono_points_arrow_batched" ) ;
140
142
group. throughput ( criterion:: Throughput :: Elements ( NUM_POINTS as _ ) ) ;
141
143
group. bench_function ( "generate_message_bundles" , |b| {
142
144
b. iter ( generate_table) ;
143
145
} ) ;
144
146
let tables = [ generate_table ( ) ] ;
145
147
group. bench_function ( "generate_messages" , |b| {
146
- b. iter ( || generate_messages ( & tables) ) ;
148
+ b. iter ( || generate_messages ( recording_id , & tables) ) ;
147
149
} ) ;
148
- let messages = generate_messages ( & tables) ;
150
+ let messages = generate_messages ( recording_id , & tables) ;
149
151
group. bench_function ( "encode_log_msg" , |b| {
150
152
b. iter ( || encode_log_msgs ( & messages) ) ;
151
153
} ) ;
152
154
group. bench_function ( "encode_total" , |b| {
153
- b. iter ( || encode_log_msgs ( & generate_messages ( & [ generate_table ( ) ] ) ) ) ;
155
+ b. iter ( || encode_log_msgs ( & generate_messages ( recording_id , & [ generate_table ( ) ] ) ) ) ;
154
156
} ) ;
155
157
156
158
let encoded = encode_log_msgs ( & messages) ;
@@ -192,21 +194,22 @@ fn batch_points_arrow(c: &mut Criterion) {
192
194
}
193
195
194
196
{
197
+ let recording_id = RecordingId :: random ( ) ;
195
198
let mut group = c. benchmark_group ( "batch_points_arrow" ) ;
196
199
group. throughput ( criterion:: Throughput :: Elements ( NUM_POINTS as _ ) ) ;
197
200
group. bench_function ( "generate_message_bundles" , |b| {
198
201
b. iter ( generate_tables) ;
199
202
} ) ;
200
203
let tables = generate_tables ( ) ;
201
204
group. bench_function ( "generate_messages" , |b| {
202
- b. iter ( || generate_messages ( & tables) ) ;
205
+ b. iter ( || generate_messages ( recording_id , & tables) ) ;
203
206
} ) ;
204
- let messages = generate_messages ( & tables) ;
207
+ let messages = generate_messages ( recording_id , & tables) ;
205
208
group. bench_function ( "encode_log_msg" , |b| {
206
209
b. iter ( || encode_log_msgs ( & messages) ) ;
207
210
} ) ;
208
211
group. bench_function ( "encode_total" , |b| {
209
- b. iter ( || encode_log_msgs ( & generate_messages ( & generate_tables ( ) ) ) ) ;
212
+ b. iter ( || encode_log_msgs ( & generate_messages ( recording_id , & generate_tables ( ) ) ) ) ;
210
213
} ) ;
211
214
212
215
let encoded = encode_log_msgs ( & messages) ;
0 commit comments