[MISC] Migrate from pip to uv for unit tests venv in production CI. #2195
+56
−39
GitHub Actions / Benchmark Comparison
succeeded
Jan 9, 2026 in 0s
Benchmark Comparison
Details
Baselines considered: 5 commits
Thresholds: runtime ± 8%, compile ± 16%
Runtime FPS
| status | env | batch_size | use_contact_island | gjk_collision | dtype | backend | constraint_solver | current FPS | baseline FPS [last (mean ± std)] (*1) | Δ FPS (*2) |
|---|---|---|---|---|---|---|---|---|---|---|
| ✅ | anymal_c | 0 | False | - | field | cpu | - | 8,181 | 8,142 (7,927 ± 186) | +0.5% |
| ✅ | anymal_c | 0 | False | - | ndarray | cpu | - | 3,963 | 3,979 (3,963 ± 98) | -0.4% |
| ✅ | anymal_c | 30000 | False | - | field | cuda | - | 16,923,534 | 16,887,374 (16,863,650 ± 53,296) | +0.2% |
| ✅ | anymal_c | 30000 | False | - | ndarray | cuda | - | 12,076,345 | 12,118,559 (12,063,993 ± 37,720) | -0.3% |
| ✅ | box_pyramid_3 | 4096 | False | - | field | cuda | - | 341,823 | 341,903 (342,500 ± 808) | -0.0% |
| ✅ | box_pyramid_3 | 4096 | False | - | ndarray | cuda | - | 306,567 | 308,200 (307,322 ± 1,189) | -0.5% |
| ✅ | box_pyramid_4 | 4096 | False | - | field | cuda | - | 111,599 | 110,676 (110,894 ± 596) | +0.8% |
| ✅ | box_pyramid_4 | 4096 | False | - | ndarray | cuda | - | 95,021 | 94,916 (95,200 ± 191) | +0.1% |
| ✅ | box_pyramid_5 | 4096 | False | - | field | cuda | - | 42,648 | 42,544 (42,558 ± 95) | +0.2% |
| ✅ | box_pyramid_5 | 4096 | False | - | ndarray | cuda | - | 30,816 | 30,910 (30,853 ± 59) | -0.3% |
| ✅ | box_pyramid_6 | 4096 | False | False | field | cuda | - | 9,046 | 9,030 (9,051 ± 25) | +0.2% |
| ✅ | box_pyramid_6 | 4096 | False | False | ndarray | cuda | - | 5,160 | 5,188 (5,177 ± 15) | -0.5% |
| ✅ | box_pyramid_6 | 4096 | False | True | field | cuda | - | 10,352 | 10,430 (10,391 ± 27) | -0.7% |
| ✅ | box_pyramid_6 | 4096 | False | True | ndarray | cuda | - | 6,468 | 6,461 (6,470 ± 23) | +0.1% |
| ✅ | duck_in_box_easy | 30000 | False | False | field | cuda | - | 21,039,593 | 21,034,910 (20,945,440 ± 89,677) | +0.0% |
| ✅ | duck_in_box_easy | 30000 | False | False | ndarray | cuda | - | 15,990,628 | 16,039,617 (15,895,239 ± 114,318) | -0.3% |
| ✅ | duck_in_box_easy | 30000 | False | True | field | cuda | - | 8,989,752 | 9,016,488 (8,995,256 ± 13,947) | -0.3% |
| ✅ | duck_in_box_easy | 30000 | False | True | ndarray | cuda | - | 8,651,158 | 8,632,664 (8,637,001 ± 7,021) | +0.2% |
| ✅ | duck_in_box_hard | 0 | False | - | field | cpu | - | 5,632 | 5,528 (5,593 ± 50) | +1.9% |
| ✅ | duck_in_box_hard | 0 | False | - | ndarray | cpu | - | 3,085 | 2,975 (3,044 ± 57) | +3.7% |
| ✅ | duck_in_box_hard | 30000 | False | False | field | cuda | - | 3,073,240 | 3,087,470 (3,070,807 ± 12,570) | -0.5% |
| ✅ | duck_in_box_hard | 30000 | False | False | ndarray | cuda | - | 2,942,053 | 2,961,186 (2,946,878 ± 12,280) | -0.6% |
| ✅ | duck_in_box_hard | 30000 | False | True | field | cuda | - | 1,765,567 | 1,776,920 (1,767,071 ± 6,353) | -0.6% |
| ✅ | duck_in_box_hard | 30000 | False | True | ndarray | cuda | - | 1,315,620 | 1,323,730 (1,312,797 ± 10,484) | -0.6% |
| ✅ | franka | 0 | False | - | field | cpu | - | 6,905 | 6,874 (6,942 ± 44) | +0.5% |
| ✅ | franka | 0 | False | - | ndarray | cpu | - | 3,592 | 3,616 (3,603 ± 22) | -0.7% |
| ✅ | franka | 30000 | False | False | field | cuda | - | 18,577,874 | 18,549,186 (18,496,313 ± 69,891) | +0.2% |
| ✅ | franka | 30000 | False | False | ndarray | cuda | - | 14,105,602 | 14,136,502 (14,081,473 ± 36,655) | -0.2% |
| ✅ | franka | 30000 | False | True | field | cuda | - | 11,688,138 | 11,606,176 (11,609,015 ± 108,560) | +0.7% |
| ✅ | franka | 30000 | False | True | ndarray | cuda | - | 8,189,227 | 8,150,549 (8,122,837 ± 37,943) | +0.5% |
| ✅ | franka | 30000 | False | - | field | cuda | CG | 20,887,181 | 20,848,263 (20,976,197 ± 84,259) | +0.2% |
| ✅ | franka | 30000 | False | - | field | cuda | Newton | 18,471,836 | 18,588,204 (18,495,252 ± 79,321) | -0.6% |
| ✅ | franka | 30000 | False | - | ndarray | cuda | CG | 15,610,023 | 15,670,392 (15,625,396 ± 44,376) | -0.4% |
| ✅ | franka | 30000 | False | - | ndarray | cuda | Newton | 14,152,204 | 14,071,788 (14,089,248 ± 13,027) | +0.6% |
| ✅ | franka_accessors | 0 | False | - | field | cpu | - | 1,920 | 1,950 (1,947 ± 23) | -1.5% |
| ✅ | franka_accessors | 0 | False | - | ndarray | cpu | - | 1,466 | 1,444 (1,481 ± 24) | +1.5% |
| ✅ | franka_accessors | 30000 | False | - | field | cuda | - | 23,003,872 | 23,068,511 (22,993,107 ± 133,236) | -0.3% |
| ✅ | franka_accessors | 30000 | False | - | ndarray | cuda | - | 16,268,442 | 16,155,113 (16,058,942 ± 152,975) | +0.7% |
| ✅ | franka_free | 30000 | False | - | field | cuda | - | 37,751,354 | 38,223,933 (38,184,515 ± 284,147) | -1.2% |
| ✅ | franka_free | 30000 | False | - | ndarray | cuda | - | 24,585,208 | 24,715,308 (24,746,913 ± 78,437) | -0.5% |
| ✅ | go2 | 4096 | False | False | field | cuda | CG | 3,120,864 | 3,120,755 (3,116,446 ± 18,528) | +0.0% |
| ✅ | go2 | 4096 | False | False | field | cuda | Newton | 3,333,097 | 3,332,021 (3,329,829 ± 12,246) | +0.0% |
| ✅ | go2 | 4096 | False | False | ndarray | cuda | CG | 2,162,077 | 2,143,540 (2,147,551 ± 4,530) | +0.9% |
| ✅ | go2 | 4096 | False | False | ndarray | cuda | Newton | 2,314,375 | 2,319,695 (2,304,277 ± 9,226) | -0.2% |
| ✅ | go2 | 4096 | False | True | field | cuda | - | 2,312,020 | 2,304,112 (2,316,785 ± 8,490) | +0.3% |
| ✅ | go2 | 4096 | False | True | ndarray | cuda | - | 1,582,892 | 1,582,179 (1,581,786 ± 6,930) | +0.0% |
| ✅ | random | 30000 | False | - | field | cuda | - | 5,917,993 | 5,923,766 (5,915,706 ± 10,875) | -0.1% |
| ✅ | random | 30000 | False | - | ndarray | cuda | - | 4,511,601 | 4,511,887 (4,513,869 ± 7,252) | -0.0% |
Compile Time
| status | env | batch_size | use_contact_island | gjk_collision | dtype | backend | constraint_solver | current compile | baseline compile [last (mean ± std)] (*1) | Δ compile (*2) |
|---|---|---|---|---|---|---|---|---|---|---|
| ✅ | anymal_c | 0 | False | - | field | cpu | - | 59.90 | 56.09 (58.14 ± 3.01) | +6.8% |
| ✅ | anymal_c | 0 | False | - | ndarray | cpu | - | 35.10 | 33.45 (34.76 ± 1.82) | +4.9% |
| ✅ | anymal_c | 30000 | False | - | field | cuda | - | 65.50 | 72.23 (67.54 ± 4.18) | -9.3% |
| ✅ | anymal_c | 30000 | False | - | ndarray | cuda | - | 43.30 | 44.12 (43.59 ± 1.18) | -1.9% |
| ✅ | box_pyramid_3 | 4096 | False | - | field | cuda | - | 63.40 | 71.60 (64.93 ± 4.08) | -11.5% |
| ✅ | box_pyramid_3 | 4096 | False | - | ndarray | cuda | - | 37.80 | 39.82 (38.67 ± 1.25) | -5.1% |
| ✅ | box_pyramid_4 | 4096 | False | - | field | cuda | - | 62 | 66 (62 ± 2) | -6.7% |
| ✅ | box_pyramid_4 | 4096 | False | - | ndarray | cuda | - | 38.40 | 38.80 (37.89 ± 1.05) | -1.0% |
| ✅ | box_pyramid_5 | 4096 | False | - | field | cuda | - | 61.80 | 69.22 (65.87 ± 6.08) | -10.7% |
| ✅ | box_pyramid_5 | 4096 | False | - | ndarray | cuda | - | 37.10 | 37.00 (37.58 ± 1.08) | +0.3% |
| ✅ | box_pyramid_6 | 4096 | False | False | field | cuda | - | 61.10 | 60.02 (63.11 ± 2.47) | +1.8% |
| ✅ | box_pyramid_6 | 4096 | False | False | ndarray | cuda | - | 42.70 | 40.77 (40.75 ± 0.92) | +4.7% |
| ✅ | box_pyramid_6 | 4096 | False | True | field | cuda | - | 39.10 | 38.91 (38.35 ± 0.80) | +0.5% |
| ✅ | box_pyramid_6 | 4096 | False | True | ndarray | cuda | - | 27.60 | 27.02 (27.91 ± 0.91) | +2.1% |
| ✅ | duck_in_box_easy | 30000 | False | False | field | cuda | - | 64.20 | 73.87 (68.25 ± 4.83) | -13.1% |
| ✅ | duck_in_box_easy | 30000 | False | False | ndarray | cuda | - | 37.90 | 37.64 (38.43 ± 0.73) | +0.7% |
| ✅ | duck_in_box_easy | 30000 | False | True | field | cuda | - | 39.20 | 39.47 (38.68 ± 0.82) | -0.7% |
| ✅ | duck_in_box_easy | 30000 | False | True | ndarray | cuda | - | 25.50 | 26.09 (25.36 ± 0.65) | -2.3% |
| ✅ | duck_in_box_hard | 0 | False | - | field | cpu | - | 55.40 | 59.79 (55.52 ± 2.54) | -7.3% |
| ✅ | duck_in_box_hard | 0 | False | - | ndarray | cpu | - | 32.20 | 33.94 (33.05 ± 0.87) | -5.1% |
| ✅ | duck_in_box_hard | 30000 | False | False | field | cuda | - | 63.10 | 62.64 (61.71 ± 0.81) | +0.7% |
| ✅ | duck_in_box_hard | 30000 | False | False | ndarray | cuda | - | 37.10 | 37.50 (36.88 ± 0.71) | -1.1% |
| ✅ | duck_in_box_hard | 30000 | False | True | field | cuda | - | 37 | 35 (37 ± 1) | +2.9% |
| ✅ | duck_in_box_hard | 30000 | False | True | ndarray | cuda | - | 23 | 24 (23 ± 0) | -4.3% |
| ✅ | franka | 0 | False | - | field | cpu | - | 57.20 | 59.61 (58.37 ± 2.93) | -4.0% |
| ✅ | franka | 0 | False | - | ndarray | cpu | - | 32.30 | 30.42 (31.81 ± 0.96) | +6.2% |
| franka | 30000 | False | False | field | cuda | - | 60.50 | 75.46 (63.96 ± 7.99) | -19.8% | |
| ✅ | franka | 30000 | False | False | ndarray | cuda | - | 37.60 | 38.28 (37.49 ± 1.04) | -1.8% |
| ✅ | franka | 30000 | False | True | field | cuda | - | 37.60 | 35.14 (35.96 ± 0.49) | +7.0% |
| ✅ | franka | 30000 | False | True | ndarray | cuda | - | 25.20 | 25.32 (25.47 ± 0.43) | -0.5% |
| ✅ | franka | 30000 | False | - | field | cuda | CG | 64.80 | 62.61 (62.12 ± 0.89) | +3.5% |
| ✅ | franka | 30000 | False | - | field | cuda | Newton | 67.90 | 59.51 (62.79 ± 3.62) | +14.1% |
| ✅ | franka | 30000 | False | - | ndarray | cuda | CG | 41.40 | 40.93 (40.95 ± 0.67) | +1.1% |
| ✅ | franka | 30000 | False | - | ndarray | cuda | Newton | 37.20 | 37.98 (37.59 ± 0.63) | -2.1% |
| ✅ | franka_accessors | 0 | False | - | field | cpu | - | 58.80 | 53.01 (57.67 ± 5.57) | +10.9% |
| ✅ | franka_accessors | 0 | False | - | ndarray | cpu | - | 30.90 | 33.82 (32.32 ± 0.95) | -8.6% |
| ✅ | franka_accessors | 30000 | False | - | field | cuda | - | 60.50 | 62.51 (62.37 ± 2.31) | -3.2% |
| ✅ | franka_accessors | 30000 | False | - | ndarray | cuda | - | 36.90 | 37.15 (37.24 ± 0.91) | -0.7% |
| ✅ | franka_free | 30000 | False | - | field | cuda | - | 59.90 | 67.95 (61.05 ± 4.04) | -11.9% |
| ✅ | franka_free | 30000 | False | - | ndarray | cuda | - | 37.90 | 38.30 (39.23 ± 0.82) | -1.0% |
| ✅ | go2 | 4096 | False | False | field | cuda | CG | 67.90 | 60.43 (63.62 ± 3.05) | +12.4% |
| ✅ | go2 | 4096 | False | False | field | cuda | Newton | 60.60 | 71.49 (64.16 ± 5.23) | -15.2% |
| ✅ | go2 | 4096 | False | False | ndarray | cuda | CG | 37.70 | 38.47 (38.82 ± 0.93) | -2.0% |
| ✅ | go2 | 4096 | False | False | ndarray | cuda | Newton | 38.20 | 37.63 (39.04 ± 0.97) | +1.5% |
| ✅ | go2 | 4096 | False | True | field | cuda | - | 43.60 | 40.28 (41.02 ± 0.67) | +8.3% |
| ✅ | go2 | 4096 | False | True | ndarray | cuda | - | 30.80 | 30.30 (29.96 ± 0.41) | +1.7% |
| ✅ | random | 30000 | False | - | field | cuda | - | 64 | 60 (65 ± 4) | +6.3% |
| ✅ | random | 30000 | False | - | ndarray | cuda | - | 38.40 | 39.67 (38.84 ± 0.51) | -3.2% |
- (*1) last: last commit on main, mean/std: stats over revs 5 commits if available.
- (*2) Δ: relative difference between PR and last commit on main, i.e. (PR - main) / main * 100%.
Artifact: Download raw data
Loading