Skip to content

Commit

Permalink
Option to show scene bounding box (#1770)
Browse files Browse the repository at this point in the history
* Include depth clouds in bounding box calculation

* Don't wrap text when showing bbox in ui

* Handle projective transforms

* Nicer selection view: don't wrap second column too early

* Add checkbox to show the scene bounding box
  • Loading branch information
emilk authored Apr 4, 2023
1 parent 679e245 commit 409dcd8
Show file tree
Hide file tree
Showing 6 changed files with 94 additions and 36 deletions.
31 changes: 31 additions & 0 deletions crates/re_renderer/src/renderer/depth_cloud.rs
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,37 @@ pub struct DepthCloud {
pub outline_mask_id: OutlineMaskPreference,
}

impl DepthCloud {
/// World-space bounding-box.
pub fn bbox(&self) -> macaw::BoundingBox {
let max_depth = self.max_depth_in_world;
let w = self.depth_dimensions.x as f32;
let h = self.depth_dimensions.y as f32;
let corners = [
glam::Vec3::ZERO, // camera origin
glam::Vec3::new(0.0, 0.0, max_depth),
glam::Vec3::new(0.0, h, max_depth),
glam::Vec3::new(w, 0.0, max_depth),
glam::Vec3::new(w, h, max_depth),
];

let intrinsics = self.depth_camera_intrinsics;
let focal_length = glam::vec2(intrinsics.col(0).x, intrinsics.col(1).y);
let offset = intrinsics.col(2).truncate();

let mut bbox = macaw::BoundingBox::nothing();

for corner in corners {
let depth = corner.z;
let pos_in_obj = ((corner.truncate() - offset) * depth / focal_length).extend(depth);
let pos_in_world = self.world_from_obj.project_point3(pos_in_obj);
bbox.extend(pos_in_world);
}

bbox
}
}

pub struct DepthClouds {
pub clouds: Vec<DepthCloud>,
pub radius_boost_in_ui_points_for_outlines: f32,
Expand Down
6 changes: 4 additions & 2 deletions crates/re_ui/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -480,11 +480,13 @@ impl ReUi {
.inner
}

/// Grid to be used in selection view.
/// Two-column grid to be used in selection view.
#[allow(clippy::unused_self)]
pub fn selection_grid(&self, ui: &mut egui::Ui, id: &str) -> egui::Grid {
// Spread rows a bit to make it easier to see the groupings
egui::Grid::new(id).spacing(ui.style().spacing.item_spacing + egui::vec2(0.0, 8.0))
egui::Grid::new(id)
.num_columns(2)
.spacing(ui.style().spacing.item_spacing + egui::vec2(0.0, 8.0))
}

/// Draws a shadow into the given rect with the shadow direction given from dark to light
Expand Down
6 changes: 5 additions & 1 deletion crates/re_viewer/src/ui/view_spatial/scene/primitives.rs
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ impl SceneSpatialPrimitives {
line_strips,
points,
meshes,
depth_clouds: _, // no bbox for depth clouds
depth_clouds,
any_outlines: _,
} = self;

Expand Down Expand Up @@ -133,6 +133,10 @@ impl SceneSpatialPrimitives {
*bounding_box =
bounding_box.union(mesh.mesh.bbox().transform_affine3(&mesh.world_from_mesh));
}

for cloud in &depth_clouds.clouds {
*bounding_box = bounding_box.union(cloud.bbox());
}
}

pub fn mesh_instances(&self) -> Vec<MeshInstance> {
Expand Down
2 changes: 2 additions & 0 deletions crates/re_viewer/src/ui/view_spatial/ui.rs
Original file line number Diff line number Diff line change
Expand Up @@ -347,13 +347,15 @@ impl ViewSpatialState {
});
});
ui.checkbox(&mut self.state_3d.show_axes, "Show origin axes").on_hover_text("Show X-Y-Z axes");
ui.checkbox(&mut self.state_3d.show_bbox, "Show bounding box").on_hover_text("Show the current scene bounding box");
});
ui.end_row();
}

ctx.re_ui.grid_left_hand_label(ui, "Bounding box")
.on_hover_text("The bounding box encompassing all Entities in the view right now.");
ui.vertical(|ui| {
ui.style_mut().wrap = Some(false);
let BoundingBox { min, max } = self.scene_bbox;
ui.label(format!(
"x [{} - {}]",
Expand Down
22 changes: 22 additions & 0 deletions crates/re_viewer/src/ui/view_spatial/ui_3d.rs
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ pub struct View3DState {
// options:
pub spin: bool,
pub show_axes: bool,
pub show_bbox: bool,

#[serde(skip)]
last_eye_interact_time: f64,
Expand All @@ -77,6 +78,7 @@ impl Default for View3DState {
hovered_point: Default::default(),
spin: false,
show_axes: false,
show_bbox: false,
last_eye_interact_time: f64::NEG_INFINITY,
space_specs: Default::default(),
space_camera: Default::default(),
Expand Down Expand Up @@ -549,6 +551,26 @@ pub fn view_3d(
);
}

if state.state_3d.show_bbox {
let bbox = scene.primitives.bounding_box();
if bbox.is_something() && bbox.is_finite() {
let scale = bbox.size();
let translation = bbox.center();
let bbox_from_unit_cube = glam::Affine3A::from_scale_rotation_translation(
scale,
Default::default(),
translation,
);
scene
.primitives
.line_strips
.batch("scene_bbox")
.add_box_outline(bbox_from_unit_cube)
.radius(Size::AUTO)
.color(egui::Color32::WHITE);
}
}

{
let orbit_center_alpha = egui::remap_clamp(
ui.input(|i| i.time) - state.state_3d.last_eye_interact_time,
Expand Down
63 changes: 30 additions & 33 deletions crates/re_viewer/src/ui/view_text/ui.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,43 +37,40 @@ impl ViewTextState {
row_log_levels,
} = &mut self.filters;

re_ui
.selection_grid(ui, "log_config")
.num_columns(2)
.show(ui, |ui| {
re_ui.grid_left_hand_label(ui, "Columns");
ui.vertical(|ui| {
for (timeline, visible) in col_timelines {
ui.checkbox(visible, timeline.name().to_string());
}
ui.checkbox(col_entity_path, "Entity path");
ui.checkbox(col_log_level, "Log level");
});
ui.end_row();
re_ui.selection_grid(ui, "log_config").show(ui, |ui| {
re_ui.grid_left_hand_label(ui, "Columns");
ui.vertical(|ui| {
for (timeline, visible) in col_timelines {
ui.checkbox(visible, timeline.name().to_string());
}
ui.checkbox(col_entity_path, "Entity path");
ui.checkbox(col_log_level, "Log level");
});
ui.end_row();

re_ui.grid_left_hand_label(ui, "Entity Filter");
ui.vertical(|ui| {
for (entity_path, visible) in row_entity_paths {
ui.checkbox(visible, &entity_path.to_string());
}
});
ui.end_row();
re_ui.grid_left_hand_label(ui, "Entity Filter");
ui.vertical(|ui| {
for (entity_path, visible) in row_entity_paths {
ui.checkbox(visible, &entity_path.to_string());
}
});
ui.end_row();

re_ui.grid_left_hand_label(ui, "Level Filter");
ui.vertical(|ui| {
for (log_level, visible) in row_log_levels {
ui.checkbox(visible, level_to_rich_text(ui, log_level));
}
});
ui.end_row();
re_ui.grid_left_hand_label(ui, "Level Filter");
ui.vertical(|ui| {
for (log_level, visible) in row_log_levels {
ui.checkbox(visible, level_to_rich_text(ui, log_level));
}
});
ui.end_row();

re_ui.grid_left_hand_label(ui, "Text style");
ui.vertical(|ui| {
ui.radio_value(&mut self.monospace, false, "Proportional");
ui.radio_value(&mut self.monospace, true, "Monospace");
});
ui.end_row();
re_ui.grid_left_hand_label(ui, "Text style");
ui.vertical(|ui| {
ui.radio_value(&mut self.monospace, false, "Proportional");
ui.radio_value(&mut self.monospace, true, "Monospace");
});
ui.end_row();
});
}
}

Expand Down

1 comment on commit 409dcd8

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rust Benchmark

Benchmark suite Current: 409dcd8 Previous: 679e245 Ratio
arrow2/size_bytes/primitive/rows=10000/instances=100/array 144611 ns/iter (± 737) 144980 ns/iter (± 1210) 1.00
arrow2/size_bytes/primitive/rows=10000/instances=100/vec 3279 ns/iter (± 175) 3201 ns/iter (± 74) 1.02
arrow2/size_bytes/primitive/rows=10000/instances=100/vec/erased 17727 ns/iter (± 80) 17278 ns/iter (± 304) 1.03
arrow2/size_bytes/struct/rows=10000/instances=100/array 486559 ns/iter (± 3450) 480311 ns/iter (± 6309) 1.01
arrow2/size_bytes/struct/rows=10000/instances=100/vec 3272 ns/iter (± 26) 3269 ns/iter (± 49) 1.00
arrow2/size_bytes/struct/rows=10000/instances=100/vec/erased 17723 ns/iter (± 97) 17057 ns/iter (± 277) 1.04
arrow2/size_bytes/struct_large/rows=10000/instances=100/array 3740263 ns/iter (± 351077) 3182631 ns/iter (± 407907) 1.18
arrow2/size_bytes/struct_large/rows=10000/instances=100/vec 3972 ns/iter (± 30) 3851 ns/iter (± 81) 1.03
arrow2/size_bytes/struct_large/rows=10000/instances=100/vec/erased 17725 ns/iter (± 110) 17137 ns/iter (± 420) 1.03
arrow2/erased_clone/primitive/rows=10000/instances=100/cell/arc_erased 774326 ns/iter (± 2565) 767335 ns/iter (± 13160) 1.01
arrow2/erased_clone/primitive/rows=10000/instances=100/cell/wrapped_in_arc 194025 ns/iter (± 946) 192920 ns/iter (± 2072) 1.01
arrow2/erased_clone/primitive/rows=10000/instances=100/array 743272 ns/iter (± 2029) 733752 ns/iter (± 9685) 1.01
arrow2/erased_clone/primitive/rows=10000/instances=100/array/downcast_first 342474 ns/iter (± 8015) 348329 ns/iter (± 2528) 0.98
arrow2/erased_clone/primitive/rows=10000/instances=100/vec/full_copy 1033815 ns/iter (± 18611) 1020285 ns/iter (± 140555) 1.01
arrow2/erased_clone/primitive/rows=10000/instances=100/vec/wrapped_in_arc 129026 ns/iter (± 678) 125646 ns/iter (± 1738) 1.03
arrow2/erased_clone/struct/rows=10000/instances=100/cell/arc_erased 4178986 ns/iter (± 102394) 4214547 ns/iter (± 626533) 0.99
arrow2/erased_clone/struct/rows=10000/instances=100/cell/wrapped_in_arc 278102 ns/iter (± 914) 283017 ns/iter (± 2518) 0.98
arrow2/erased_clone/struct/rows=10000/instances=100/array 4117849 ns/iter (± 47691) 4056283 ns/iter (± 82730) 1.02
arrow2/erased_clone/struct/rows=10000/instances=100/array/downcast_first 3524450 ns/iter (± 54247) 3473288 ns/iter (± 58519) 1.01
arrow2/erased_clone/struct/rows=10000/instances=100/vec/full_copy 1309611 ns/iter (± 43132) 1286497 ns/iter (± 186831) 1.02
arrow2/erased_clone/struct/rows=10000/instances=100/vec/wrapped_in_arc 127071 ns/iter (± 569) 127572 ns/iter (± 875) 1.00
arrow2/erased_clone/struct_large/rows=10000/instances=100/cell/arc_erased 53662374 ns/iter (± 748809) 45817191 ns/iter (± 813980) 1.17
arrow2/erased_clone/struct_large/rows=10000/instances=100/cell/wrapped_in_arc 167897 ns/iter (± 1072) 165241 ns/iter (± 3501) 1.02
arrow2/erased_clone/struct_large/rows=10000/instances=100/array 50942758 ns/iter (± 815072) 45630719 ns/iter (± 859456) 1.12
arrow2/erased_clone/struct_large/rows=10000/instances=100/array/downcast_first 48991180 ns/iter (± 774758) 44724853 ns/iter (± 1053275) 1.10
arrow2/erased_clone/struct_large/rows=10000/instances=100/vec/full_copy 5000080 ns/iter (± 161800) 4597037 ns/iter (± 249191) 1.09
arrow2/erased_clone/struct_large/rows=10000/instances=100/vec/wrapped_in_arc 128249 ns/iter (± 586) 123945 ns/iter (± 2120) 1.03
arrow2_convert/serialize/primitive/instances=100000/arrow2_convert 413465 ns/iter (± 1707) 400258 ns/iter (± 5966) 1.03
arrow2_convert/serialize/primitive/instances=100000/arrow2/from_values 19770 ns/iter (± 152) 18534 ns/iter (± 301) 1.07
arrow2_convert/serialize/primitive/instances=100000/arrow2/from_vec 19496 ns/iter (± 143) 19691 ns/iter (± 220) 0.99
arrow2_convert/deserialize/primitive/instances=100000/arrow2_convert 98306 ns/iter (± 649) 96361 ns/iter (± 2125) 1.02
arrow2_convert/deserialize/primitive/instances=100000/arrow2/validity_checks 159528 ns/iter (± 461) 157690 ns/iter (± 1531) 1.01
arrow2_convert/deserialize/primitive/instances=100000/arrow2/validity_bypass 46314 ns/iter (± 195) 58246 ns/iter (± 225) 0.80
datastore/num_rows=1000/num_instances=1000/packed=false/insert/default 10907764 ns/iter (± 578744) 9510671 ns/iter (± 324457) 1.15
datastore/num_rows=1000/num_instances=1000/packed=false/insert/bucketsz=0 13243988 ns/iter (± 752551) 11404719 ns/iter (± 352669) 1.16
datastore/num_rows=1000/num_instances=1000/packed=false/insert/bucketsz=2 12415512 ns/iter (± 749794) 10899093 ns/iter (± 624780) 1.14
datastore/num_rows=1000/num_instances=1000/packed=false/insert/bucketsz=32 11359903 ns/iter (± 539892) 9784028 ns/iter (± 865076) 1.16
datastore/num_rows=1000/num_instances=1000/packed=false/insert/bucketsz=2048 10334816 ns/iter (± 600842) 9350538 ns/iter (± 356279) 1.11
datastore/num_rows=1000/num_instances=1000/packed=true/insert/default 9959839 ns/iter (± 723412) 9286325 ns/iter (± 639797) 1.07
datastore/num_rows=1000/num_instances=1000/packed=true/insert/bucketsz=0 11847103 ns/iter (± 721136) 12366963 ns/iter (± 1202142) 0.96
datastore/num_rows=1000/num_instances=1000/packed=true/insert/bucketsz=2 11320850 ns/iter (± 530144) 10905464 ns/iter (± 477890) 1.04
datastore/num_rows=1000/num_instances=1000/packed=true/insert/bucketsz=32 9820900 ns/iter (± 447436) 9553391 ns/iter (± 368295) 1.03
datastore/num_rows=1000/num_instances=1000/packed=true/insert/bucketsz=2048 9577932 ns/iter (± 474252) 9139174 ns/iter (± 391171) 1.05
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at/default 1828 ns/iter (± 17) 1802 ns/iter (± 35) 1.01
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at/bucketsz=0 1836 ns/iter (± 11) 1816 ns/iter (± 13) 1.01
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at/bucketsz=2 1827 ns/iter (± 11) 1821 ns/iter (± 16) 1.00
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at/bucketsz=32 1848 ns/iter (± 6) 1854 ns/iter (± 19) 1.00
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at/bucketsz=2048 1815 ns/iter (± 16) 1845 ns/iter (± 15) 0.98
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at/default 1826 ns/iter (± 49) 1811 ns/iter (± 29) 1.01
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at/bucketsz=0 1831 ns/iter (± 9) 1804 ns/iter (± 3) 1.01
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at/bucketsz=2 1825 ns/iter (± 12) 1796 ns/iter (± 21) 1.02
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at/bucketsz=32 1822 ns/iter (± 9) 1809 ns/iter (± 27) 1.01
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at/bucketsz=2048 1803 ns/iter (± 8) 1793 ns/iter (± 23) 1.01
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/primary/default 280 ns/iter (± 1) 276 ns/iter (± 4) 1.01
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/secondaries/default 434 ns/iter (± 1) 433 ns/iter (± 3) 1.00
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/primary/bucketsz=0 280 ns/iter (± 1) 274 ns/iter (± 4) 1.02
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/secondaries/bucketsz=0 444 ns/iter (± 2) 431 ns/iter (± 6) 1.03
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/primary/bucketsz=2 281 ns/iter (± 1) 276 ns/iter (± 5) 1.02
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/secondaries/bucketsz=2 441 ns/iter (± 3) 431 ns/iter (± 7) 1.02
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/primary/bucketsz=32 281 ns/iter (± 1) 271 ns/iter (± 3) 1.04
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/secondaries/bucketsz=32 438 ns/iter (± 2) 423 ns/iter (± 7) 1.04
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/primary/bucketsz=2048 281 ns/iter (± 1) 272 ns/iter (± 4) 1.03
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/secondaries/bucketsz=2048 434 ns/iter (± 1) 418 ns/iter (± 5) 1.04
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/primary/default 281 ns/iter (± 1) 280 ns/iter (± 3) 1.00
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/secondaries/default 433 ns/iter (± 1) 417 ns/iter (± 6) 1.04
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/primary/bucketsz=0 281 ns/iter (± 0) 273 ns/iter (± 4) 1.03
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/secondaries/bucketsz=0 441 ns/iter (± 3) 434 ns/iter (± 6) 1.02
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/primary/bucketsz=2 281 ns/iter (± 1) 270 ns/iter (± 5) 1.04
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/secondaries/bucketsz=2 442 ns/iter (± 0) 430 ns/iter (± 7) 1.03
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/primary/bucketsz=32 281 ns/iter (± 0) 281 ns/iter (± 0) 1
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/secondaries/bucketsz=32 441 ns/iter (± 1) 438 ns/iter (± 12) 1.01
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/primary/bucketsz=2048 281 ns/iter (± 0) 281 ns/iter (± 1) 1
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/secondaries/bucketsz=2048 434 ns/iter (± 0) 433 ns/iter (± 4) 1.00
datastore/num_rows=1000/num_instances=1000/packed=false/range/default 11601059 ns/iter (± 755926) 9844920 ns/iter (± 986687) 1.18
datastore/num_rows=1000/num_instances=1000/packed=false/range/bucketsz=0 2195118 ns/iter (± 10644) 2210318 ns/iter (± 47993) 0.99
datastore/num_rows=1000/num_instances=1000/packed=false/range/bucketsz=2 2149409 ns/iter (± 10463) 2207888 ns/iter (± 61548) 0.97
datastore/num_rows=1000/num_instances=1000/packed=false/range/bucketsz=32 1957310 ns/iter (± 9486) 1909944 ns/iter (± 150947) 1.02
datastore/num_rows=1000/num_instances=1000/packed=false/range/bucketsz=2048 1942792 ns/iter (± 8442) 1946839 ns/iter (± 145837) 1.00
datastore/num_rows=1000/num_instances=1000/packed=true/range/default 10079824 ns/iter (± 516478) 10935010 ns/iter (± 1238006) 0.92
datastore/num_rows=1000/num_instances=1000/packed=true/range/bucketsz=0 2146195 ns/iter (± 10868) 2134464 ns/iter (± 1109275) 1.01
datastore/num_rows=1000/num_instances=1000/packed=true/range/bucketsz=2 2126992 ns/iter (± 8869) 2100472 ns/iter (± 1140981) 1.01
datastore/num_rows=1000/num_instances=1000/packed=true/range/bucketsz=32 1832680 ns/iter (± 12533) 1808997 ns/iter (± 632529) 1.01
datastore/num_rows=1000/num_instances=1000/packed=true/range/bucketsz=2048 1896355 ns/iter (± 7323) 1783317 ns/iter (± 35715) 1.06
vector_ops/sort/instances=10000/smallvec/n=4 12497 ns/iter (± 52) 12076 ns/iter (± 188) 1.03
vector_ops/sort/instances=10000/tinyvec/n=4 9647 ns/iter (± 20) 9336 ns/iter (± 188) 1.03
vector_ops/sort/instances=10000/vec 9594 ns/iter (± 86) 9466 ns/iter (± 225) 1.01
vector_ops/split_off/instances=10000/smallvec/n=4/manual 5545 ns/iter (± 48) 5475 ns/iter (± 94) 1.01
vector_ops/split_off/instances=10000/tinyvec/n=4 2734 ns/iter (± 32) 2739 ns/iter (± 91) 1.00
vector_ops/split_off/instances=10000/tinyvec/n=4/manual 2715 ns/iter (± 31) 2746 ns/iter (± 205) 0.99
vector_ops/split_off/instances=10000/vec 2726 ns/iter (± 14) 2722 ns/iter (± 48) 1.00
vector_ops/split_off/instances=10000/vec/manual 2729 ns/iter (± 47) 2673 ns/iter (± 61) 1.02
vector_ops/swap/instances=10000/smallvec/n=4 32768 ns/iter (± 189) 32489 ns/iter (± 888) 1.01
vector_ops/swap/instances=10000/tinyvec/n=4 18283 ns/iter (± 106) 18256 ns/iter (± 338) 1.00
vector_ops/swap/instances=10000/vec 12312 ns/iter (± 60) 12314 ns/iter (± 107) 1.00
vector_ops/swap_opt/instances=10000/smallvec/n=4 42627 ns/iter (± 60) 42640 ns/iter (± 411) 1.00
vector_ops/swap_opt/instances=10000/tinyvec/n=4 28709 ns/iter (± 121) 28530 ns/iter (± 391) 1.01
vector_ops/swap_opt/instances=10000/vec 19767 ns/iter (± 85) 20160 ns/iter (± 375) 0.98
mono_points_arrow/generate_message_bundles 43605456 ns/iter (± 1164749) 41779491 ns/iter (± 6391444) 1.04
mono_points_arrow/generate_messages 148523816 ns/iter (± 1268915) 132007868 ns/iter (± 27797618) 1.13
mono_points_arrow/encode_log_msg 182820883 ns/iter (± 976989) 176841355 ns/iter (± 33059725) 1.03
mono_points_arrow/encode_total 373913691 ns/iter (± 1920910) 352279676 ns/iter (± 53152618) 1.06
mono_points_arrow/decode_log_msg 222652848 ns/iter (± 1214307) 213509916 ns/iter (± 28707764) 1.04
mono_points_arrow/decode_message_bundles 78397309 ns/iter (± 1396723) 70571683 ns/iter (± 16213593) 1.11
mono_points_arrow/decode_total 302734874 ns/iter (± 1594490) 273615946 ns/iter (± 41406841) 1.11
mono_points_arrow_batched/generate_message_bundles 35291866 ns/iter (± 1598406) 31940268 ns/iter (± 8350507) 1.10
mono_points_arrow_batched/generate_messages 6636509 ns/iter (± 370819) 6045203 ns/iter (± 3704275) 1.10
mono_points_arrow_batched/encode_log_msg 1548938 ns/iter (± 4702) 1551118 ns/iter (± 490045) 1.00
mono_points_arrow_batched/encode_total 43078984 ns/iter (± 1879119) 52994196 ns/iter (± 4196749) 0.81
mono_points_arrow_batched/decode_log_msg 867411 ns/iter (± 4318) 911913 ns/iter (± 19749) 0.95
mono_points_arrow_batched/decode_message_bundles 10705835 ns/iter (± 231298) 10979691 ns/iter (± 3813680) 0.98
mono_points_arrow_batched/decode_total 11731931 ns/iter (± 379412) 11399590 ns/iter (± 2440199) 1.03
batch_points_arrow/generate_message_bundles 297581 ns/iter (± 1225) 291389 ns/iter (± 14042) 1.02
batch_points_arrow/generate_messages 5743 ns/iter (± 21) 5675 ns/iter (± 152) 1.01
batch_points_arrow/encode_log_msg 376972 ns/iter (± 1079) 362829 ns/iter (± 6188) 1.04
batch_points_arrow/encode_total 709235 ns/iter (± 4213) 677278 ns/iter (± 67671) 1.05
batch_points_arrow/decode_log_msg 350094 ns/iter (± 1090) 335090 ns/iter (± 76016) 1.04
batch_points_arrow/decode_message_bundles 2195 ns/iter (± 15) 2183 ns/iter (± 29) 1.01
batch_points_arrow/decode_total 367378 ns/iter (± 1843) 341184 ns/iter (± 40597) 1.08
arrow_mono_points/insert 6870259699 ns/iter (± 67605864) 6407020500 ns/iter (± 281484887) 1.07
arrow_mono_points/query 1793672 ns/iter (± 14447) 1743920 ns/iter (± 134911) 1.03
arrow_batch_points/insert 3025932 ns/iter (± 11517) 5206031 ns/iter (± 1121363) 0.58
arrow_batch_points/query 16430 ns/iter (± 90) 15880 ns/iter (± 254) 1.03
arrow_batch_vecs/insert 42663 ns/iter (± 265) 41775 ns/iter (± 1761) 1.02
arrow_batch_vecs/query 505652 ns/iter (± 3474) 501330 ns/iter (± 12293) 1.01
tuid/Tuid::random 34 ns/iter (± 0) 36 ns/iter (± 0) 0.94

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.