Skip to content

Commit

Permalink
auto_color class-ids if they are present (#1783)
Browse files Browse the repository at this point in the history
* auto_color class-ids if they are present

* Update log line in segmentation demo

* Avoid tuple structs
  • Loading branch information
jleibs authored Apr 5, 2023
1 parent 260c532 commit 83cd229
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 23 deletions.
61 changes: 39 additions & 22 deletions crates/re_viewer/src/ui/annotations.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,38 +22,51 @@ pub struct Annotations {

impl Annotations {
pub fn class_description(&self, class_id: Option<ClassId>) -> ResolvedClassDescription<'_> {
ResolvedClassDescription(
class_id.and_then(|class_id| self.context.class_map.get(&class_id)),
)
ResolvedClassDescription {
class_id,
class_description: class_id.and_then(|class_id| self.context.class_map.get(&class_id)),
}
}
}

pub struct ResolvedClassDescription<'a>(pub Option<&'a ClassDescription>);
pub struct ResolvedClassDescription<'a> {
pub class_id: Option<ClassId>,
pub class_description: Option<&'a ClassDescription>,
}

impl<'a> ResolvedClassDescription<'a> {
pub fn annotation_info(&self) -> ResolvedAnnotationInfo {
ResolvedAnnotationInfo(self.0.map(|desc| desc.info.clone()))
ResolvedAnnotationInfo {
class_id: self.class_id,
annotation_info: self.class_description.map(|desc| desc.info.clone()),
}
}

/// Merges class annotation info with keypoint annotation info (if existing respectively).
pub fn annotation_info_with_keypoint(&self, keypoint_id: KeypointId) -> ResolvedAnnotationInfo {
if let Some(desc) = self.0 {
if let Some(desc) = self.class_description {
// Assuming that keypoint annotation is the rarer case, merging the entire annotation ahead of time
// is cheaper than doing it lazily (which would cause more branches down the line for callsites without keypoints)
if let Some(keypoint_annotation_info) = desc.keypoint_map.get(&keypoint_id) {
ResolvedAnnotationInfo(Some(AnnotationInfo {
id: keypoint_id.0,
label: keypoint_annotation_info
.label
.clone()
.or_else(|| desc.info.label.clone()),
color: keypoint_annotation_info.color.or(desc.info.color),
}))
ResolvedAnnotationInfo {
class_id: self.class_id,
annotation_info: Some(AnnotationInfo {
id: keypoint_id.0,
label: keypoint_annotation_info
.label
.clone()
.or_else(|| desc.info.label.clone()),
color: keypoint_annotation_info.color.or(desc.info.color),
}),
}
} else {
self.annotation_info()
}
} else {
ResolvedAnnotationInfo(None)
ResolvedAnnotationInfo {
class_id: self.class_id,
annotation_info: None,
}
}
}
}
Expand All @@ -66,7 +79,10 @@ pub enum DefaultColor<'a> {
}

#[derive(Clone)]
pub struct ResolvedAnnotationInfo(pub Option<AnnotationInfo>);
pub struct ResolvedAnnotationInfo {
pub class_id: Option<ClassId>,
pub annotation_info: Option<AnnotationInfo>,
}

impl ResolvedAnnotationInfo {
pub fn color(
Expand All @@ -76,17 +92,18 @@ impl ResolvedAnnotationInfo {
) -> re_renderer::Color32 {
if let Some([r, g, b, a]) = color {
re_renderer::Color32::from_rgba_premultiplied(*r, *g, *b, *a)
} else if let Some(color) = self.0.as_ref().and_then(|info| {
} else if let Some(color) = self.annotation_info.as_ref().and_then(|info| {
info.color
.map(|c| c.into())
.or_else(|| Some(auto_color(info.id)))
}) {
color
} else {
match default_color {
DefaultColor::TransparentBlack => re_renderer::Color32::TRANSPARENT,
DefaultColor::OpaqueWhite => re_renderer::Color32::WHITE,
DefaultColor::EntityPath(entity_path) => {
match (self.class_id, default_color) {
(Some(class_id), _) if class_id.0 != 0 => auto_color(class_id.0),
(_, DefaultColor::TransparentBlack) => re_renderer::Color32::TRANSPARENT,
(_, DefaultColor::OpaqueWhite) => re_renderer::Color32::WHITE,
(_, DefaultColor::EntityPath(entity_path)) => {
auto_color((entity_path.hash64() % std::u16::MAX as u64) as u16)
}
}
Expand All @@ -97,7 +114,7 @@ impl ResolvedAnnotationInfo {
if let Some(label) = label {
Some(label.clone())
} else {
self.0
self.annotation_info
.as_ref()
.and_then(|info| info.label.as_ref().map(|label| label.0.clone()))
}
Expand Down
2 changes: 1 addition & 1 deletion examples/python/api_demo/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ def run_segmentation() -> None:
class_ids=np.array([42], dtype=np.uint8),
)

rr.log_text_entry("logs/seg_demo_log", "no rects, default colored points, a single point has a label")
rr.log_text_entry("logs/seg_demo_log", "default colored rects, default colored points, a single point has a label")

# Log an initial segmentation map with arbitrary colors
rr.set_time_seconds("sim_time", 2)
Expand Down

2 comments on commit 83cd229

@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: 83cd229 Previous: 5b590bb Ratio
arrow2/size_bytes/primitive/rows=10000/instances=100/array 146486 ns/iter (± 657) 150043 ns/iter (± 1364) 0.98
arrow2/size_bytes/primitive/rows=10000/instances=100/vec 3318 ns/iter (± 11) 3307 ns/iter (± 39) 1.00
arrow2/size_bytes/primitive/rows=10000/instances=100/vec/erased 17734 ns/iter (± 10) 17732 ns/iter (± 103) 1.00
arrow2/size_bytes/struct/rows=10000/instances=100/array 492228 ns/iter (± 3387) 512893 ns/iter (± 4678) 0.96
arrow2/size_bytes/struct/rows=10000/instances=100/vec 3308 ns/iter (± 10) 3263 ns/iter (± 45) 1.01
arrow2/size_bytes/struct/rows=10000/instances=100/vec/erased 17736 ns/iter (± 12) 17712 ns/iter (± 113) 1.00
arrow2/size_bytes/struct_large/rows=10000/instances=100/array 6886438 ns/iter (± 101980) 6680394 ns/iter (± 600723) 1.03
arrow2/size_bytes/struct_large/rows=10000/instances=100/vec 4001 ns/iter (± 11) 3979 ns/iter (± 46) 1.01
arrow2/size_bytes/struct_large/rows=10000/instances=100/vec/erased 17737 ns/iter (± 18) 17726 ns/iter (± 121) 1.00
arrow2/erased_clone/primitive/rows=10000/instances=100/cell/arc_erased 786497 ns/iter (± 2825) 796342 ns/iter (± 1740) 0.99
arrow2/erased_clone/primitive/rows=10000/instances=100/cell/wrapped_in_arc 193925 ns/iter (± 605) 201082 ns/iter (± 614) 0.96
arrow2/erased_clone/primitive/rows=10000/instances=100/array 753964 ns/iter (± 2219) 778565 ns/iter (± 2262) 0.97
arrow2/erased_clone/primitive/rows=10000/instances=100/array/downcast_first 345891 ns/iter (± 780) 358346 ns/iter (± 1223) 0.97
arrow2/erased_clone/primitive/rows=10000/instances=100/vec/full_copy 1478925 ns/iter (± 102507) 1138316 ns/iter (± 59755) 1.30
arrow2/erased_clone/primitive/rows=10000/instances=100/vec/wrapped_in_arc 127661 ns/iter (± 192) 127283 ns/iter (± 276) 1.00
arrow2/erased_clone/struct/rows=10000/instances=100/cell/arc_erased 6872232 ns/iter (± 381984) 4368854 ns/iter (± 280737) 1.57
arrow2/erased_clone/struct/rows=10000/instances=100/cell/wrapped_in_arc 287883 ns/iter (± 794) 278181 ns/iter (± 1586) 1.03
arrow2/erased_clone/struct/rows=10000/instances=100/array 6903144 ns/iter (± 367532) 4201895 ns/iter (± 101502) 1.64
arrow2/erased_clone/struct/rows=10000/instances=100/array/downcast_first 5265430 ns/iter (± 338075) 3636760 ns/iter (± 103748) 1.45
arrow2/erased_clone/struct/rows=10000/instances=100/vec/full_copy 1902627 ns/iter (± 123577) 1362119 ns/iter (± 39408) 1.40
arrow2/erased_clone/struct/rows=10000/instances=100/vec/wrapped_in_arc 128483 ns/iter (± 1632) 127034 ns/iter (± 785) 1.01
arrow2/erased_clone/struct_large/rows=10000/instances=100/cell/arc_erased 50477462 ns/iter (± 468792) 48319119 ns/iter (± 523157) 1.04
arrow2/erased_clone/struct_large/rows=10000/instances=100/cell/wrapped_in_arc 169487 ns/iter (± 468) 172047 ns/iter (± 1368) 0.99
arrow2/erased_clone/struct_large/rows=10000/instances=100/array 48687753 ns/iter (± 391143) 46667570 ns/iter (± 794783) 1.04
arrow2/erased_clone/struct_large/rows=10000/instances=100/array/downcast_first 46967829 ns/iter (± 326834) 46640788 ns/iter (± 1938447) 1.01
arrow2/erased_clone/struct_large/rows=10000/instances=100/vec/full_copy 5367499 ns/iter (± 65656) 4615572 ns/iter (± 424632) 1.16
arrow2/erased_clone/struct_large/rows=10000/instances=100/vec/wrapped_in_arc 128998 ns/iter (± 95) 127327 ns/iter (± 288) 1.01
arrow2_convert/serialize/primitive/instances=100000/arrow2_convert 415553 ns/iter (± 832) 416536 ns/iter (± 500) 1.00
arrow2_convert/serialize/primitive/instances=100000/arrow2/from_values 19667 ns/iter (± 61) 19493 ns/iter (± 100) 1.01
arrow2_convert/serialize/primitive/instances=100000/arrow2/from_vec 19451 ns/iter (± 39) 19675 ns/iter (± 118) 0.99
arrow2_convert/deserialize/primitive/instances=100000/arrow2_convert 95548 ns/iter (± 220) 96353 ns/iter (± 1415) 0.99
arrow2_convert/deserialize/primitive/instances=100000/arrow2/validity_checks 163287 ns/iter (± 1177) 165570 ns/iter (± 1274) 0.99
arrow2_convert/deserialize/primitive/instances=100000/arrow2/validity_bypass 47721 ns/iter (± 156) 58866 ns/iter (± 547) 0.81
datastore/num_rows=1000/num_instances=1000/packed=false/insert/default 14609436 ns/iter (± 504287) 10990257 ns/iter (± 1070476) 1.33
datastore/num_rows=1000/num_instances=1000/packed=false/insert/bucketsz=0 17282541 ns/iter (± 261439) 16594764 ns/iter (± 917457) 1.04
datastore/num_rows=1000/num_instances=1000/packed=false/insert/bucketsz=2 16317228 ns/iter (± 172901) 16116365 ns/iter (± 1269030) 1.01
datastore/num_rows=1000/num_instances=1000/packed=false/insert/bucketsz=32 14626634 ns/iter (± 227080) 12023144 ns/iter (± 1881206) 1.22
datastore/num_rows=1000/num_instances=1000/packed=false/insert/bucketsz=2048 14536660 ns/iter (± 182791) 10228073 ns/iter (± 722101) 1.42
datastore/num_rows=1000/num_instances=1000/packed=true/insert/default 14307661 ns/iter (± 354591) 13521469 ns/iter (± 1208763) 1.06
datastore/num_rows=1000/num_instances=1000/packed=true/insert/bucketsz=0 16803928 ns/iter (± 250663) 16758492 ns/iter (± 1082213) 1.00
datastore/num_rows=1000/num_instances=1000/packed=true/insert/bucketsz=2 16152235 ns/iter (± 251798) 11717587 ns/iter (± 465784) 1.38
datastore/num_rows=1000/num_instances=1000/packed=true/insert/bucketsz=32 14432392 ns/iter (± 175193) 10336326 ns/iter (± 419146) 1.40
datastore/num_rows=1000/num_instances=1000/packed=true/insert/bucketsz=2048 14214420 ns/iter (± 182551) 10847922 ns/iter (± 1431742) 1.31
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at/default 1818 ns/iter (± 19) 1811 ns/iter (± 22) 1.00
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at/bucketsz=0 1852 ns/iter (± 10) 1835 ns/iter (± 30) 1.01
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at/bucketsz=2 1844 ns/iter (± 10) 1860 ns/iter (± 17) 0.99
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at/bucketsz=32 1828 ns/iter (± 11) 1855 ns/iter (± 2) 0.99
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at/bucketsz=2048 1810 ns/iter (± 11) 1843 ns/iter (± 3) 0.98
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at/default 1813 ns/iter (± 37) 1836 ns/iter (± 24) 0.99
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at/bucketsz=0 1815 ns/iter (± 2) 1839 ns/iter (± 7) 0.99
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at/bucketsz=2 1828 ns/iter (± 21) 1832 ns/iter (± 12) 1.00
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at/bucketsz=32 1816 ns/iter (± 4) 1814 ns/iter (± 11) 1.00
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at/bucketsz=2048 1806 ns/iter (± 6) 1801 ns/iter (± 11) 1.00
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/primary/default 281 ns/iter (± 0) 280 ns/iter (± 0) 1.00
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/secondaries/default 433 ns/iter (± 0) 436 ns/iter (± 0) 0.99
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/primary/bucketsz=0 282 ns/iter (± 1) 281 ns/iter (± 0) 1.00
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/secondaries/bucketsz=0 443 ns/iter (± 0) 444 ns/iter (± 0) 1.00
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/primary/bucketsz=2 281 ns/iter (± 0) 281 ns/iter (± 0) 1
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/secondaries/bucketsz=2 441 ns/iter (± 0) 442 ns/iter (± 0) 1.00
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/primary/bucketsz=32 281 ns/iter (± 0) 281 ns/iter (± 0) 1
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/secondaries/bucketsz=32 438 ns/iter (± 0) 438 ns/iter (± 2) 1
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/primary/bucketsz=2048 281 ns/iter (± 0) 281 ns/iter (± 0) 1
datastore/num_rows=1000/num_instances=1000/packed=false/latest_at_missing/secondaries/bucketsz=2048 434 ns/iter (± 0) 434 ns/iter (± 0) 1
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/primary/default 280 ns/iter (± 0) 280 ns/iter (± 0) 1
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/secondaries/default 433 ns/iter (± 0) 436 ns/iter (± 0) 0.99
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/primary/bucketsz=0 280 ns/iter (± 0) 280 ns/iter (± 0) 1
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/secondaries/bucketsz=0 441 ns/iter (± 0) 441 ns/iter (± 1) 1
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/primary/bucketsz=2 280 ns/iter (± 0) 280 ns/iter (± 0) 1
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/secondaries/bucketsz=2 441 ns/iter (± 0) 441 ns/iter (± 1) 1
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/primary/bucketsz=32 281 ns/iter (± 0) 280 ns/iter (± 1) 1.00
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/secondaries/bucketsz=32 438 ns/iter (± 0) 438 ns/iter (± 0) 1
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/primary/bucketsz=2048 281 ns/iter (± 0) 281 ns/iter (± 0) 1
datastore/num_rows=1000/num_instances=1000/packed=true/latest_at_missing/secondaries/bucketsz=2048 434 ns/iter (± 0) 434 ns/iter (± 0) 1
datastore/num_rows=1000/num_instances=1000/packed=false/range/default 15896286 ns/iter (± 186023) 15663274 ns/iter (± 827787) 1.01
datastore/num_rows=1000/num_instances=1000/packed=false/range/bucketsz=0 4254261 ns/iter (± 223654) 2432913 ns/iter (± 475938) 1.75
datastore/num_rows=1000/num_instances=1000/packed=false/range/bucketsz=2 4215094 ns/iter (± 285494) 2562730 ns/iter (± 505647) 1.64
datastore/num_rows=1000/num_instances=1000/packed=false/range/bucketsz=32 2950765 ns/iter (± 423513) 2096058 ns/iter (± 244852) 1.41
datastore/num_rows=1000/num_instances=1000/packed=false/range/bucketsz=2048 3257660 ns/iter (± 411620) 1900002 ns/iter (± 21745) 1.71
datastore/num_rows=1000/num_instances=1000/packed=true/range/default 15159934 ns/iter (± 214189) 10886728 ns/iter (± 1429474) 1.39
datastore/num_rows=1000/num_instances=1000/packed=true/range/bucketsz=0 3480879 ns/iter (± 411042) 2138189 ns/iter (± 47139) 1.63
datastore/num_rows=1000/num_instances=1000/packed=true/range/bucketsz=2 3204907 ns/iter (± 521873) 2100353 ns/iter (± 21050) 1.53
datastore/num_rows=1000/num_instances=1000/packed=true/range/bucketsz=32 2326665 ns/iter (± 288980) 1844029 ns/iter (± 10784) 1.26
datastore/num_rows=1000/num_instances=1000/packed=true/range/bucketsz=2048 2087887 ns/iter (± 153601) 1804063 ns/iter (± 137004) 1.16
vector_ops/sort/instances=10000/smallvec/n=4 12480 ns/iter (± 36) 12387 ns/iter (± 149) 1.01
vector_ops/sort/instances=10000/tinyvec/n=4 9659 ns/iter (± 33) 9621 ns/iter (± 81) 1.00
vector_ops/sort/instances=10000/vec 9651 ns/iter (± 30) 9667 ns/iter (± 26) 1.00
vector_ops/split_off/instances=10000/smallvec/n=4/manual 5562 ns/iter (± 12) 5559 ns/iter (± 86) 1.00
vector_ops/split_off/instances=10000/tinyvec/n=4 2739 ns/iter (± 12) 2734 ns/iter (± 27) 1.00
vector_ops/split_off/instances=10000/tinyvec/n=4/manual 2749 ns/iter (± 19) 2682 ns/iter (± 48) 1.02
vector_ops/split_off/instances=10000/vec 2727 ns/iter (± 25) 2711 ns/iter (± 35) 1.01
vector_ops/split_off/instances=10000/vec/manual 2724 ns/iter (± 24) 2721 ns/iter (± 39) 1.00
vector_ops/swap/instances=10000/smallvec/n=4 32799 ns/iter (± 25) 32751 ns/iter (± 151) 1.00
vector_ops/swap/instances=10000/tinyvec/n=4 18314 ns/iter (± 21) 18207 ns/iter (± 318) 1.01
vector_ops/swap/instances=10000/vec 12335 ns/iter (± 17) 12221 ns/iter (± 151) 1.01
vector_ops/swap_opt/instances=10000/smallvec/n=4 42876 ns/iter (± 50) 42443 ns/iter (± 481) 1.01
vector_ops/swap_opt/instances=10000/tinyvec/n=4 28936 ns/iter (± 386) 28409 ns/iter (± 313) 1.02
vector_ops/swap_opt/instances=10000/vec 20434 ns/iter (± 26) 20449 ns/iter (± 164) 1.00
mono_points_arrow/generate_message_bundles 45911970 ns/iter (± 357076) 43671581 ns/iter (± 927866) 1.05
mono_points_arrow/generate_messages 136614555 ns/iter (± 1184878) 135982388 ns/iter (± 1816127) 1.00
mono_points_arrow/encode_log_msg 186563920 ns/iter (± 1472145) 178919766 ns/iter (± 5005485) 1.04
mono_points_arrow/encode_total 365290280 ns/iter (± 2156673) 369750999 ns/iter (± 6173238) 0.99
mono_points_arrow/decode_log_msg 214285171 ns/iter (± 867824) 217149510 ns/iter (± 2515296) 0.99
mono_points_arrow/decode_message_bundles 73334124 ns/iter (± 582758) 76138701 ns/iter (± 1634733) 0.96
mono_points_arrow/decode_total 286893529 ns/iter (± 1586194) 294965128 ns/iter (± 8190616) 0.97
mono_points_arrow_batched/generate_message_bundles 41910675 ns/iter (± 406621) 39964749 ns/iter (± 1738867) 1.05
mono_points_arrow_batched/generate_messages 10675491 ns/iter (± 397830) 8939607 ns/iter (± 1846417) 1.19
mono_points_arrow_batched/encode_log_msg 1558696 ns/iter (± 6816) 1526675 ns/iter (± 36663) 1.02
mono_points_arrow_batched/encode_total 54065444 ns/iter (± 1018378) 50335189 ns/iter (± 2623579) 1.07
mono_points_arrow_batched/decode_log_msg 876074 ns/iter (± 4624) 867745 ns/iter (± 5643) 1.01
mono_points_arrow_batched/decode_message_bundles 15167256 ns/iter (± 352627) 13006391 ns/iter (± 924224) 1.17
mono_points_arrow_batched/decode_total 16475803 ns/iter (± 291291) 14655208 ns/iter (± 728800) 1.12
batch_points_arrow/generate_message_bundles 308390 ns/iter (± 951) 308824 ns/iter (± 1442) 1.00
batch_points_arrow/generate_messages 5774 ns/iter (± 12) 5805 ns/iter (± 19) 0.99
batch_points_arrow/encode_log_msg 385969 ns/iter (± 1924) 383625 ns/iter (± 4574) 1.01
batch_points_arrow/encode_total 716772 ns/iter (± 3786) 735814 ns/iter (± 5088) 0.97
batch_points_arrow/decode_log_msg 346465 ns/iter (± 1932) 349184 ns/iter (± 5836) 0.99
batch_points_arrow/decode_message_bundles 2198 ns/iter (± 9) 2219 ns/iter (± 9) 0.99
batch_points_arrow/decode_total 354356 ns/iter (± 3234) 352115 ns/iter (± 3171) 1.01
arrow_mono_points/insert 6254175453 ns/iter (± 27831290) 6736330003 ns/iter (± 30219040) 0.93
arrow_mono_points/query 1864039 ns/iter (± 21263) 1855142 ns/iter (± 59868) 1.00
arrow_batch_points/insert 3087774 ns/iter (± 59713) 3055816 ns/iter (± 32122) 1.01
arrow_batch_points/query 16368 ns/iter (± 52) 16452 ns/iter (± 28) 0.99
arrow_batch_vecs/insert 42764 ns/iter (± 123) 43641 ns/iter (± 185) 0.98
arrow_batch_vecs/query 506158 ns/iter (± 638) 507022 ns/iter (± 1195) 1.00
tuid/Tuid::random 34 ns/iter (± 0) 34 ns/iter (± 0) 1

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

@github-actions
Copy link

Choose a reason for hiding this comment

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

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Rust Benchmark'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.50.

Benchmark suite Current: 83cd229 Previous: 5b590bb Ratio
arrow2/erased_clone/struct/rows=10000/instances=100/cell/arc_erased 6872232 ns/iter (± 381984) 4368854 ns/iter (± 280737) 1.57
arrow2/erased_clone/struct/rows=10000/instances=100/array 6903144 ns/iter (± 367532) 4201895 ns/iter (± 101502) 1.64
datastore/num_rows=1000/num_instances=1000/packed=false/range/bucketsz=0 4254261 ns/iter (± 223654) 2432913 ns/iter (± 475938) 1.75
datastore/num_rows=1000/num_instances=1000/packed=false/range/bucketsz=2 4215094 ns/iter (± 285494) 2562730 ns/iter (± 505647) 1.64
datastore/num_rows=1000/num_instances=1000/packed=false/range/bucketsz=2048 3257660 ns/iter (± 411620) 1900002 ns/iter (± 21745) 1.71
datastore/num_rows=1000/num_instances=1000/packed=true/range/bucketsz=0 3480879 ns/iter (± 411042) 2138189 ns/iter (± 47139) 1.63
datastore/num_rows=1000/num_instances=1000/packed=true/range/bucketsz=2 3204907 ns/iter (± 521873) 2100353 ns/iter (± 21050) 1.53

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

Please sign in to comment.