Smirkey
powerboxes
BlogDocsChangelog

refactor: faster iteration

#44Merged
Comparing
iter/faster
(
5cc6ec8
) with
main
(
e443fea
)
CodSpeed Performance Gauge
+53%
Improvements
3
Untouched
144

Benchmarks

Improved

test_tiou_distance[int16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+53%
289.1 µs189.5 µs
test_tiou_distance[uint16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+47%
289.4 µs196.3 µs
test_tiou_distance[uint8]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+29%
265.5 µs206 µs

Passed

test_tiou_distance[float32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+17%
231 µs197.5 µs
test_tiou_distance[float64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+17%
230.9 µs198 µs
test_tiou_distance[int32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+16%
260.2 µs224.4 µs
test_tiou_distance[uint32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+9%
266.2 µs243.4 µs
test_parallel_iou_distance[float32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+8%
257.5 µs237.9 µs
test_parallel_iou_distance[int64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+7%
381 µs354.8 µs
test_parallel_iou_distance[int16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+4%
422.2 µs405.4 µs
test_nms_many_boxes[5000]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+4%
49.7 ms47.8 ms
test_box_convert_xywh_xyxy[uint64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+2%
41.3 µs40.4 µs
test_parallel_giou_distance[int64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+2%
388.1 µs381.6 µs
test_giou_distance[int64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+2%
388.2 µs381.8 µs
test_box_convert_xywh_cxcywh[uint8]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+2%
35.2 µs34.7 µs
test_box_convert_cxcywh_xyxy[int32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
37.5 µs36.9 µs
test_box_convert_cxcywh_xyxy[uint16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
36.1 µs35.6 µs
test_box_convert_xywh_cxcywh[float64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
41.3 µs40.8 µs
test_box_convert_cxcywh_xyxy[uint64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
41.2 µs40.7 µs
test_box_convert_xyxy_cxcywh[float64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
40.8 µs40.3 µs
test_box_convert_xyxy_xywh[int32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
36.9 µs36.5 µs
test_box_convert_xyxy_cxcywh[uint64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
41 µs40.6 µs
test_box_convert_xyxy_xywh[uint32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
36.9 µs36.5 µs
test_box_convert_xywh_xyxy[int32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
36.9 µs36.5 µs
test_box_convert_xyxy_xywh[float32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
36.9 µs36.6 µs
test_box_convert_cxcywh_xyxy[uint8]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
35.6 µs35.2 µs
test_boxes_areas[uint64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
36.5 µs36.1 µs
test_box_convert_cxcywh_xywh[float64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
40.9 µs40.5 µs
test_box_convert_xyxy_xywh[float64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
43.9 µs43.6 µs
test_box_convert_xywh_cxcywh[uint32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
37 µs36.7 µs
test_box_convert_cxcywh_xywh[int32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
37.1 µs36.8 µs
test_rtree_nms[float32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
122.6 µs121.6 µs
test_tiou_distance[int64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
277.7 µs275.5 µs
test_box_convert_cxcywh_xyxy[int64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
41.1 µs40.8 µs
test_rtree_nms[int16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
133 µs131.9 µs
test_rtree_nms[int32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
131.2 µs130.2 µs
test_box_convert_xyxy_cxcywh[int32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
37.1 µs36.8 µs
test_box_convert_xywh_xyxy[int16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
35.7 µs35.5 µs
test_box_convert_xyxy_xywh[uint64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
41 µs40.7 µs
test_box_convert_cxcywh_xywh[uint32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
36.9 µs36.7 µs
test_box_convert_xywh_xyxy[uint8]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
35.3 µs35 µs
test_box_convert_cxcywh_xywh[uint64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
41 µs40.7 µs
test_remove_small_boxes[uint64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
37.1 µs36.9 µs
test_box_convert_xywh_cxcywh[uint64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
41.1 µs40.8 µs
test_box_convert_cxcywh_xyxy[float64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
40.7 µs40.5 µs
test_box_convert_xywh_cxcywh[int16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
36.1 µs35.8 µs
test_box_convert_xyxy_cxcywh[uint32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
36.9 µs36.7 µs
test_box_convert_xyxy_cxcywh[int64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
41.1 µs40.9 µs
test_boxes_areas[uint16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
33.8 µs33.6 µs
test_box_convert_xyxy_cxcywh[uint16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
35.9 µs35.7 µs
test_box_convert_xywh_xyxy[uint32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
36.8 µs36.6 µs
test_box_convert_xywh_xyxy[uint16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
35.7 µs35.5 µs
test_boxes_areas[uint32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
34.9 µs34.7 µs
test_parallel_giou_distance[float64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
+1%
270.6 µs269.2 µs
test_boxes_areas[float64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
39.4 µs39.2 µs
test_box_convert_cxcywh_xyxy[uint32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
36.8 µs36.7 µs
test_remove_small_boxes[float32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
37.3 µs37.1 µs
test_boxes_areas[float32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
34.7 µs34.6 µs
test_box_convert_xyxy_cxcywh[int16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
35.9 µs35.8 µs
test_box_convert_xyxy_xywh[int64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
40.9 µs40.7 µs
test_nms[int32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
79.3 µs78.9 µs
test_box_convert_cxcywh_xywh[float32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
36.9 µs36.7 µs
test_nms[uint8]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
74.1 µs73.9 µs
test_nms[float32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
71.5 µs71.3 µs
test_nms[uint16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
78.6 µs78.4 µs
test_parallel_iou_distance[uint32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
367.7 µs366.4 µs
test_giou_distance[float64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
269.6 µs268.8 µs
test_box_convert_cxcywh_xywh[uint8]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
35.4 µs35.3 µs
test_nms_many_boxes[1000]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
2 ms2 ms
test_giou_distance[uint32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
376.9 µs375.8 µs
test_box_convert_xyxy_cxcywh[uint8]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
35.2 µs35.1 µs
test_giou_distance[float32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
269.7 µs269 µs
test_remove_small_boxes[uint8]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
35.4 µs35.3 µs
test_box_convert_cxcywh_xywh[uint16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
35.8 µs35.8 µs
test_parallel_giou_distance[float32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
268.8 µs268.1 µs
test_remove_small_boxes[int32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
35.4 µs35.4 µs
test_box_convert_xywh_xyxy[float64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
40.8 µs40.7 µs
test_iou_distance[uint64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
295.6 µs295 µs
test_iou_distance[float32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
188.9 µs188.5 µs
test_box_convert_xywh_cxcywh[int64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
41 µs40.9 µs
test_iou_distance[float64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
195.1 µs194.8 µs
test_boxes_areas[uint8]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
34.8 µs34.8 µs
test_nms[int64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
81.1 µs81 µs
test_iou_distance[uint16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
296.3 µs295.9 µs
test_iou_distance[int32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
272.7 µs272.4 µs
test_iou_distance[int64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
284.3 µs284 µs
test_parallel_giou_distance[uint32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
376.4 µs375.9 µs
test_nms[int16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
78.3 µs78.2 µs
test_parallel_iou_distance[int32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
366.2 µs365.8 µs
test_iou_distance[uint8]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
291.3 µs291 µs
test_boxes_areas[int16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
33.6 µs33.6 µs
test_rotated_giou_distance[float64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
12.3 ms12.3 ms
test_nms_many_boxes[10000]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
202 ms201.9 ms
test_box_convert_xywh_xyxy[float32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
36.8 µs36.8 µs
test_rotated_iou_distance[float64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
12.8 ms12.8 ms
test_iou_distance[int16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
295.9 µs295.8 µs
giou distance benchmark
powerboxesrs/benches/bench_iou.rs::benches::giou_distance_benchmark
CodSpeed Performance Gauge
0%
270 µs269.9 µs
test_iou_distance[uint32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
272.6 µs272.6 µs
test_masks_to_boxes
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
9.4 ms9.4 ms
test_nms_many_boxes[20000]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
763.9 ms763.9 ms
iou distance benchmark
powerboxesrs/benches/bench_iou.rs::benches::iou_distance_benchmark
CodSpeed Performance Gauge
0%
213.3 µs213.3 µs
parallel iou distance benchmark
powerboxesrs/benches/bench_iou.rs::benches::parallel_iou_distance_benchmark
CodSpeed Performance Gauge
0%
275.4 µs275.4 µs
test_nms[uint32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
79.2 µs79.2 µs
test_box_convert_xywh_xyxy[int64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
40.7 µs40.7 µs
test_parallel_iou_distance[uint64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
372.7 µs372.9 µs
test_remove_small_boxes[int64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
36.6 µs36.7 µs
test_rotated_tiou_distance[float64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
192.2 µs192.4 µs
test_remove_small_boxes[uint32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
35.3 µs35.3 µs
test_box_convert_xyxy_xywh[uint8]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
36.5 µs36.5 µs
test_box_convert_xyxy_xywh[int16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
35.5 µs35.5 µs
test_box_convert_xywh_cxcywh[uint16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
35.8 µs35.8 µs
test_box_convert_xyxy_cxcywh[float32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
36.8 µs36.9 µs
test_box_convert_cxcywh_xywh[int16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
35.9 µs35.9 µs
test_remove_small_boxes[int16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
34.4 µs34.4 µs
test_box_convert_xyxy_xywh[uint16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
35.7 µs35.8 µs
test_nms[uint64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
81.5 µs81.7 µs
test_box_convert_xywh_cxcywh[float32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
36.8 µs36.9 µs
test_box_convert_cxcywh_xywh[int64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
41 µs41.1 µs
test_boxes_areas[int32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
34.7 µs34.8 µs
test_parallel_giou_distance[int32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
376.8 µs378.5 µs
test_boxes_areas[int64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
36.2 µs36.3 µs
test_giou_distance[int32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
376.9 µs378.8 µs
test_nms[float64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
0%
77 µs77.4 µs
test_remove_small_boxes[float64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-1%
41.8 µs42 µs
test_box_convert_xywh_cxcywh[int32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-1%
36.8 µs37 µs
test_box_convert_cxcywh_xyxy[float32]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-1%
38 µs38.3 µs
test_box_convert_cxcywh_xyxy[int16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-1%
35.8 µs36 µs
test_giou_distance[uint64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-1%
402.6 µs407 µs
test_giou_distance[uint8]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-1%
403.8 µs408.4 µs
test_parallel_giou_distance[uint8]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-1%
404.1 µs409 µs
test_parallel_giou_distance[uint64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-1%
402.1 µs407 µs
test_remove_small_boxes[uint16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-1%
33.9 µs34.4 µs
test_rtree_nms[float64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-2%
154.4 µs157.2 µs
test_giou_distance[int16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-2%
369.3 µs376.9 µs
test_parallel_giou_distance[uint16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-2%
369.3 µs377 µs
test_giou_distance[uint16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-2%
369.3 µs377.1 µs
test_parallel_giou_distance[int16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-2%
369.2 µs377.1 µs
test_rtree_nms[int64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-3%
141.3 µs145.3 µs
test_rtree_nms_many_boxes[1000]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-3%
1.4 ms1.4 ms
test_rtree_nms_many_boxes[10000]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-3%
18.5 ms19.1 ms
test_rtree_nms_many_boxes[5000]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-4%
8.3 ms8.7 ms
test_rtree_nms_many_boxes[20000]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-4%
38.1 ms39.8 ms
test_parallel_iou_distance[uint8]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-4%
371.8 µs388.9 µs
test_parallel_iou_distance[float64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-5%
269 µs284.2 µs
test_parallel_iou_distance[uint16]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-6%
399 µs426.1 µs
parallel giou distance benchmark
powerboxesrs/benches/bench_iou.rs::benches::parallel_giou_distance_benchmark
CodSpeed Performance Gauge
-8%
381 µs414.3 µs
test_tiou_distance[uint64]
bindings/tests/test_speed.py
CodSpeed Performance Gauge
-11%
287.2 µs321.5 µs

Commits

Click on a commit to change the comparison range
Base
main
e443fea
+52.36%
refactor: faster iteration
4bfbbf4
2 years ago
by Smirkey
+0.78%
refactor: faster iteration
e8a0342
2 years ago
by Smirkey
-0.58%
revert: is slower
5cc6ec8
2 years ago
by Smirkey
© 2026 CodSpeed Technology
Home Terms Privacy Docs