Skip to content

Conversation

@hexaeder
Copy link
Member

@hexaeder hexaeder commented Nov 6, 2025

Sometimes, creating "equivalent" models with different namespaces will result in different code inthe generated functions (because variables names appear there) which then means that two generated functions are not "equal" anymore even thogh they might be functionally equivalent.
For our parallelization scheme it its important to batch equal functions. This commit tries to fix this by replacing all namespaced variable names in the generated function with standard names.

Sometimes, creating "equivalent" models with different
namespaces will result in different code inthe generated functions
(because variables names appear there) which then means that two generated
functions are not "equal" anymore even thogh they might be functionally
equivalent.
For our parallelization scheme it its important to batch equal functions.
This commit tries to fix this by replacing all namespaced variable names
in the generated function with standard names.
@github-actions
Copy link
Contributor

github-actions bot commented Nov 6, 2025

Benchmark Results
┌──────────────────────────────────────────────┬────────┬────────────┬────────────┬────────────┬─────────┬──────────┬────────────┐
│ Key                                          │        │ Time       │            │            │ Allocs  │          │            │
│                                              │        │ target     │ baseline   │            │ target  │ baseline │            │
├──────────────────────────────────────────────┼────────┼────────────┼────────────┼────────────┼─────────┼──────────┼────────────┤
│ diffusion_static_edge → assemble             │    100 │ 531.654 μs │ 521.877 μs │  +1.9 % ➖ │    2869 │     2869 │  +0.0 % ➖ │
│                                              │    300 │   4.580 ms │   4.438 ms │  +3.2 % ➖ │   23079 │    23079 │  +0.0 % ➖ │
│                                              │   1000 │  64.140 ms │  63.428 ms │  +1.1 % ➖ │  251284 │   251284 │  +0.0 % ➖ │
│                                              │   3000 │ 936.185 ms │ 934.555 ms │  +0.2 % ➖ │ 2253284 │  2253284 │  +0.0 % ➖ │
│ diffusion_static_edge → seq → seq            │    100 │  10.840 μs │  10.825 μs │  +0.1 % ➖ │         │          │  +0.0 % ➖ │
│                                              │    300 │ 114.414 μs │ 114.254 μs │  +0.1 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   1000 │   1.359 ms │   1.356 ms │  +0.2 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   3000 │  13.533 ms │  13.583 ms │  -0.4 % ➖ │         │          │  +0.0 % ➖ │
│ diffusion_static_edge → ka → seq             │    100 │  20.218 μs │  20.198 μs │  +0.1 % ➖ │      87 │       87 │  +0.0 % ➖ │
│                                              │    300 │ 135.974 μs │ 134.972 μs │  +0.7 % ➖ │     173 │      173 │  +0.0 % ➖ │
│                                              │   1000 │   1.296 ms │   1.272 ms │  +1.9 % ➖ │    1067 │     1067 │  +0.0 % ➖ │
│                                              │   3000 │  13.054 ms │  13.508 ms │  -3.4 % ➖ │    8958 │     8958 │  +0.0 % ➖ │
│ diffusion_static_edge → poly → seq           │    100 │  12.153 μs │  12.138 μs │  +0.1 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │    300 │ 108.182 μs │ 107.761 μs │  +0.4 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │   1000 │   1.218 ms │   1.220 ms │  -0.1 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │   3000 │  12.994 ms │  13.102 ms │  -0.8 % ➖ │       3 │        3 │  +0.0 % ➖ │
│ diffusion_static_edge → thrd → seq           │    100 │  20.518 μs │  19.637 μs │  +4.5 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                              │    300 │ 126.737 μs │ 125.405 μs │  +1.1 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                              │   1000 │   1.292 ms │   1.290 ms │  +0.1 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                              │   3000 │  12.780 ms │  12.868 ms │  -0.7 % ➖ │      66 │       66 │  +0.0 % ➖ │
│ diffusion_static_edge → seq_buf → seq        │    100 │  13.430 μs │  13.425 μs │  +0.0 % ➖ │         │          │  +0.0 % ➖ │
│                                              │    300 │ 136.936 μs │ 136.676 μs │  +0.2 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   1000 │   1.611 ms │   1.611 ms │  +0.0 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   3000 │  16.571 ms │  16.705 ms │  -0.8 % ➖ │         │          │  +0.0 % ➖ │
│ diffusion_static_edge → ka_buf → seq         │    100 │  25.327 μs │  25.328 μs │  -0.0 % ➖ │      87 │       87 │  +0.0 % ➖ │
│                                              │    300 │ 168.825 μs │ 168.886 μs │  -0.0 % ➖ │     173 │      173 │  +0.0 % ➖ │
│                                              │   1000 │   1.642 ms │   1.654 ms │  -0.7 % ➖ │    1067 │     1067 │  +0.0 % ➖ │
│                                              │   3000 │  16.312 ms │  16.402 ms │  -0.6 % ➖ │    8958 │     8958 │  +0.0 % ➖ │
│ diffusion_static_edge → poly_buf → seq       │    100 │  17.874 μs │  17.653 μs │  +1.3 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │    300 │ 159.468 μs │ 160.650 μs │  -0.7 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │   1000 │   1.815 ms │   1.810 ms │  +0.3 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │   3000 │  18.348 ms │  18.497 ms │  -0.8 % ➖ │       3 │        3 │  +0.0 % ➖ │
│ diffusion_static_edge → poly_buf → ka        │    100 │ 149.860 μs │ 149.509 μs │  +0.2 % ➖ │      56 │       56 │  +0.0 % ➖ │
│                                              │    300 │ 376.203 μs │ 377.095 μs │  -0.2 % ➖ │      56 │       56 │  +0.0 % ➖ │
│                                              │   1000 │   3.042 ms │   3.045 ms │  -0.1 % ➖ │      56 │       56 │  +0.0 % ➖ │
│                                              │   3000 │  30.848 ms │  30.153 ms │  +2.3 % ➖ │      57 │       57 │  +0.0 % ➖ │
│ diffusion_static_edge → poly_buf → poly      │    100 │  13.440 μs │  13.235 μs │  +1.6 % ➖ │       6 │        6 │  +0.0 % ➖ │
│                                              │    300 │  97.873 μs │  92.043 μs │  +6.3 % ❌ │       6 │        6 │  +0.0 % ➖ │
│                                              │   1000 │   1.055 ms │   1.034 ms │  +2.0 % ➖ │       6 │        6 │  +0.0 % ➖ │
│                                              │   3000 │  11.235 ms │  11.510 ms │  -2.4 % ➖ │       6 │        6 │  +0.0 % ➖ │
│ diffusion_static_edge → poly_buf → thrd      │    100 │ 196.688 μs │ 129.182 μs │ +52.3 % ❌ │      25 │       25 │  +0.0 % ➖ │
│                                              │    300 │ 241.040 μs │ 240.360 μs │  +0.3 % ➖ │      25 │       25 │  +0.0 % ➖ │
│                                              │   1000 │   1.533 ms │   1.628 ms │  -5.8 % ✅ │      25 │       25 │  +0.0 % ➖ │
│                                              │   3000 │  14.831 ms │  15.846 ms │  -6.4 % ✅ │      25 │       25 │  +0.0 % ➖ │
│ diffusion_static_edge → poly_buf → sprs      │    100 │  25.287 μs │  24.807 μs │  +1.9 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │    300 │ 217.767 μs │ 214.431 μs │  +1.6 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │   1000 │   2.461 ms │   2.429 ms │  +1.3 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │   3000 │  23.613 ms │  23.609 ms │  +0.0 % ➖ │       3 │        3 │  +0.0 % ➖ │
│ diffusion_static_edge → thrd_buf → seq       │    100 │  21.711 μs │  25.118 μs │ -13.6 % ✅ │      66 │       66 │  +0.0 % ➖ │
│                                              │    300 │ 149.419 μs │ 149.891 μs │  -0.3 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                              │   1000 │   1.665 ms │   1.667 ms │  -0.2 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                              │   3000 │  16.048 ms │  16.095 ms │  -0.3 % ➖ │      66 │       66 │  +0.0 % ➖ │
│ diffusion_ode_edge → assemble                │    100 │ 521.063 μs │ 525.592 μs │  -0.9 % ➖ │    2878 │     2878 │  +0.0 % ➖ │
│                                              │    300 │   4.339 ms │   4.569 ms │  -5.1 % ✅ │   23087 │    23087 │  +0.0 % ➖ │
│                                              │   1000 │  54.662 ms │  68.371 ms │ -20.1 % ✅ │  251290 │   251290 │  +0.0 % ➖ │
│                                              │   3000 │ 950.204 ms │ 942.012 ms │  +0.9 % ➖ │ 2253290 │  2253290 │  +0.0 % ➖ │
│ diffusion_ode_edge → seq → seq               │    100 │  39.955 μs │  39.994 μs │  -0.1 % ➖ │         │          │  +0.0 % ➖ │
│                                              │    300 │ 383.417 μs │ 381.272 μs │  +0.6 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   1000 │   4.401 ms │   4.420 ms │  -0.4 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   3000 │  41.398 ms │  41.332 ms │  +0.2 % ➖ │         │          │  +0.0 % ➖ │
│ diffusion_ode_edge → ka → seq                │    100 │  56.746 μs │  57.397 μs │  -1.1 % ➖ │     140 │      140 │  +0.0 % ➖ │
│                                              │    300 │ 303.737 μs │ 307.705 μs │  -1.3 % ➖ │     293 │      293 │  +0.0 % ➖ │
│                                              │   1000 │   2.892 ms │   2.907 ms │  -0.5 % ➖ │    1856 │     1856 │  +0.0 % ➖ │
│                                              │   3000 │  26.791 ms │  27.057 ms │  -1.0 % ➖ │   15607 │    15607 │  +0.0 % ➖ │
│ diffusion_ode_edge → poly → seq              │    100 │  26.669 μs │  26.871 μs │  -0.8 % ➖ │       4 │        4 │  +0.0 % ➖ │
│                                              │    300 │ 239.677 μs │ 238.626 μs │  +0.4 % ➖ │       4 │        4 │  +0.0 % ➖ │
│                                              │   1000 │   2.724 ms │   2.754 ms │  -1.1 % ➖ │       4 │        4 │  +0.0 % ➖ │
│                                              │   3000 │  26.312 ms │  26.352 ms │  -0.2 % ➖ │       4 │        4 │  +0.0 % ➖ │
│ diffusion_ode_edge → thrd → seq              │    100 │  50.765 μs │  50.344 μs │  +0.8 % ➖ │      96 │       88 │  +9.1 % ❌ │
│                                              │    300 │ 362.017 μs │ 371.524 μs │  -2.6 % ➖ │      96 │       88 │  +9.1 % ❌ │
│                                              │   1000 │   2.921 ms │   2.936 ms │  -0.5 % ➖ │      96 │       88 │  +9.1 % ❌ │
│                                              │   3000 │  26.235 ms │  26.681 ms │  -1.7 % ➖ │      96 │       88 │  +9.1 % ❌ │
│ diffusion_ode_edge → seq_buf → seq           │    100 │  38.853 μs │  39.223 μs │  -0.9 % ➖ │         │          │  +0.0 % ➖ │
│                                              │    300 │ 372.866 μs │ 373.097 μs │  -0.1 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   1000 │   4.282 ms │   4.320 ms │  -0.9 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   3000 │  40.247 ms │  40.467 ms │  -0.5 % ➖ │         │          │  +0.0 % ➖ │
│ diffusion_ode_edge → ka_buf → seq            │    100 │  62.496 μs │  61.996 μs │  +0.8 % ➖ │     140 │      140 │  +0.0 % ➖ │
│                                              │    300 │ 369.150 μs │ 357.518 μs │  +3.3 % ➖ │     293 │      293 │  +0.0 % ➖ │
│                                              │   1000 │   3.300 ms │   3.339 ms │  -1.2 % ➖ │    1856 │     1856 │  +0.0 % ➖ │
│                                              │   3000 │  30.001 ms │  30.144 ms │  -0.5 % ➖ │   15607 │    15607 │  +0.0 % ➖ │
│ diffusion_ode_edge → poly_buf → seq          │    100 │  31.479 μs │  32.050 μs │  -1.8 % ➖ │       4 │        4 │  +0.0 % ➖ │
│                                              │    300 │ 284.071 μs │ 288.960 μs │  -1.7 % ➖ │       4 │        4 │  +0.0 % ➖ │
│                                              │   1000 │   3.215 ms │   3.286 ms │  -2.2 % ➖ │       4 │        4 │  +0.0 % ➖ │
│                                              │   3000 │  30.760 ms │  31.206 ms │  -1.4 % ➖ │       4 │        4 │  +0.0 % ➖ │
│ diffusion_ode_edge → poly_buf → ka           │    100 │ 163.335 μs │ 163.776 μs │  -0.3 % ➖ │      57 │       57 │  +0.0 % ➖ │
│                                              │    300 │ 496.799 μs │ 504.353 μs │  -1.5 % ➖ │      57 │       57 │  +0.0 % ➖ │
│                                              │   1000 │   4.380 ms │   4.425 ms │  -1.0 % ➖ │      57 │       57 │  +0.0 % ➖ │
│                                              │   3000 │  42.956 ms │  44.903 ms │  -4.3 % ➖ │      58 │       58 │  +0.0 % ➖ │
│ diffusion_ode_edge → poly_buf → poly         │    100 │  26.780 μs │  28.232 μs │  -5.1 % ✅ │       7 │        7 │  +0.0 % ➖ │
│                                              │    300 │ 230.351 μs │ 234.468 μs │  -1.8 % ➖ │       7 │        7 │  +0.0 % ➖ │
│                                              │   1000 │   2.501 ms │   2.616 ms │  -4.4 % ➖ │       7 │        7 │  +0.0 % ➖ │
│                                              │   3000 │  25.011 ms │  25.488 ms │  -1.9 % ➖ │       7 │        7 │  +0.0 % ➖ │
│ diffusion_ode_edge → poly_buf → thrd         │    100 │ 145.703 μs │ 143.869 μs │  +1.3 % ➖ │      26 │       26 │  +0.0 % ➖ │
│                                              │    300 │ 369.600 μs │ 366.094 μs │  +1.0 % ➖ │      26 │       26 │  +0.0 % ➖ │
│                                              │   1000 │   3.078 ms │   3.112 ms │  -1.1 % ➖ │      26 │       26 │  +0.0 % ➖ │
│                                              │   3000 │  28.664 ms │  28.059 ms │  +2.2 % ➖ │      26 │       26 │  +0.0 % ➖ │
│ diffusion_ode_edge → poly_buf → sprs         │    100 │  39.283 μs │  39.584 μs │  -0.8 % ➖ │       4 │        4 │  +0.0 % ➖ │
│                                              │    300 │ 343.842 μs │ 345.717 μs │  -0.5 % ➖ │       4 │        4 │  +0.0 % ➖ │
│                                              │   1000 │   3.870 ms │   3.906 ms │  -0.9 % ➖ │       4 │        4 │  +0.0 % ➖ │
│                                              │   3000 │  36.646 ms │  36.591 ms │  +0.2 % ➖ │       4 │        4 │  +0.0 % ➖ │
│ diffusion_ode_edge → thrd_buf → seq          │    100 │  55.704 μs │  53.139 μs │  +4.8 % ➖ │      96 │       88 │  +9.1 % ❌ │
│                                              │    300 │ 418.782 μs │ 404.777 μs │  +3.5 % ➖ │      96 │       88 │  +9.1 % ❌ │
│                                              │   1000 │   3.277 ms │   3.300 ms │  -0.7 % ➖ │      96 │       88 │  +9.1 % ❌ │
│                                              │   3000 │  29.551 ms │  29.688 ms │  -0.5 % ➖ │      96 │       88 │  +9.1 % ❌ │
│ kuramoto_homogeneous → assemble              │    100 │  72.105 μs │  69.590 μs │  +3.6 % ➖ │     459 │      459 │  +0.0 % ➖ │
│                                              │   1000 │ 712.732 μs │ 721.809 μs │  -1.3 % ➖ │    2288 │     2288 │  +0.0 % ➖ │
│                                              │  10000 │   4.934 ms │   4.866 ms │  +1.4 % ➖ │   20288 │    20288 │  +0.0 % ➖ │
│                                              │ 100000 │  41.778 ms │  46.517 ms │ -10.2 % ✅ │  200288 │   200288 │  +0.0 % ➖ │
│ kuramoto_homogeneous → seq → seq             │    100 │   1.041 μs │   1.051 μs │  -1.0 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   1000 │  10.229 μs │  10.470 μs │  -2.3 % ➖ │         │          │  +0.0 % ➖ │
│                                              │  10000 │ 111.318 μs │ 112.771 μs │  -1.3 % ➖ │         │          │  +0.0 % ➖ │
│                                              │ 100000 │   1.533 ms │   1.530 ms │  +0.1 % ➖ │         │          │  +0.0 % ➖ │
│ kuramoto_homogeneous → ka → seq              │    100 │   3.121 μs │   3.095 μs │  +0.8 % ➖ │      46 │       46 │  +0.0 % ➖ │
│                                              │   1000 │  12.478 μs │  12.252 μs │  +1.8 % ➖ │      49 │       49 │  +0.0 % ➖ │
│                                              │  10000 │ 154.298 μs │ 154.869 μs │  -0.4 % ➖ │     274 │      274 │  +0.0 % ➖ │
│                                              │ 100000 │   1.074 ms │   1.068 ms │  +0.6 % ➖ │    1242 │     1242 │  +0.0 % ➖ │
│ kuramoto_homogeneous → poly → seq            │    100 │   1.838 μs │   1.902 μs │  -3.4 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │   1000 │  10.339 μs │  10.455 μs │  -1.1 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │  10000 │  94.367 μs │  95.278 μs │  -1.0 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │ 100000 │   1.039 ms │   1.031 ms │  +0.8 % ➖ │       3 │        3 │  +0.0 % ➖ │
│ kuramoto_homogeneous → thrd → seq            │    100 │   9.963 μs │  10.510 μs │  -5.2 % ✅ │      66 │       66 │  +0.0 % ➖ │
│                                              │   1000 │  20.639 μs │  20.768 μs │  -0.6 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                              │  10000 │ 121.487 μs │ 133.008 μs │  -8.7 % ✅ │      66 │       66 │  +0.0 % ➖ │
│                                              │ 100000 │   1.068 ms │   1.064 ms │  +0.4 % ➖ │      66 │       66 │  +0.0 % ➖ │
│ kuramoto_homogeneous → seq_buf → seq         │    100 │   1.063 μs │   1.058 μs │  +0.5 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   1000 │  10.635 μs │  10.514 μs │  +1.1 % ➖ │         │          │  +0.0 % ➖ │
│                                              │  10000 │ 112.570 μs │ 110.417 μs │  +1.9 % ➖ │         │          │  +0.0 % ➖ │
│                                              │ 100000 │   1.348 ms │   1.325 ms │  +1.7 % ➖ │         │          │  +0.0 % ➖ │
│ kuramoto_homogeneous → ka_buf → seq          │    100 │   3.030 μs │   3.047 μs │  -0.5 % ➖ │      46 │       46 │  +0.0 % ➖ │
│                                              │   1000 │  12.774 μs │  12.504 μs │  +2.2 % ➖ │      49 │       49 │  +0.0 % ➖ │
│                                              │  10000 │ 183.533 μs │ 182.181 μs │  +0.7 % ➖ │     274 │      274 │  +0.0 % ➖ │
│                                              │ 100000 │   1.267 ms │   1.280 ms │  -1.0 % ➖ │    1242 │     1242 │  +0.0 % ➖ │
│ kuramoto_homogeneous → poly_buf → seq        │    100 │   2.062 μs │   2.043 μs │  +0.9 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │   1000 │  11.998 μs │  11.782 μs │  +1.8 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │  10000 │ 113.281 μs │ 110.376 μs │  +2.6 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │ 100000 │   1.308 ms │   1.274 ms │  +2.7 % ➖ │       3 │        3 │  +0.0 % ➖ │
│ kuramoto_homogeneous → poly_buf → ka         │    100 │   2.993 μs │   2.902 μs │  +3.1 % ➖ │      13 │       13 │  +0.0 % ➖ │
│                                              │   1000 │ 135.654 μs │ 136.916 μs │  -0.9 % ➖ │      37 │       37 │  +0.0 % ➖ │
│                                              │  10000 │ 296.544 μs │ 295.263 μs │  +0.4 % ➖ │      56 │       56 │  +0.0 % ➖ │
│                                              │ 100000 │   2.150 ms │   2.176 ms │  -1.2 % ➖ │      56 │       56 │  +0.0 % ➖ │
│ kuramoto_homogeneous → poly_buf → poly       │    100 │   2.693 μs │   2.844 μs │  -5.3 % ✅ │       6 │        6 │  +0.0 % ➖ │
│                                              │   1000 │  13.456 μs │  13.806 μs │  -2.5 % ➖ │       6 │        6 │  +0.0 % ➖ │
│                                              │  10000 │ 133.730 μs │ 128.731 μs │  +3.9 % ➖ │       6 │        6 │  +0.0 % ➖ │
│                                              │ 100000 │   1.935 ms │   2.005 ms │  -3.5 % ➖ │       6 │        6 │  +0.0 % ➖ │
│ kuramoto_homogeneous → poly_buf → thrd       │    100 │ 116.157 μs │ 116.748 μs │  -0.5 % ➖ │      25 │       25 │  +0.0 % ➖ │
│                                              │   1000 │ 130.314 μs │ 109.375 μs │ +19.1 % ❌ │      25 │       25 │  +0.0 % ➖ │
│                                              │  10000 │ 267.480 μs │ 262.231 μs │  +2.0 % ➖ │      25 │       25 │  +0.0 % ➖ │
│                                              │ 100000 │   2.917 ms │   2.416 ms │ +20.7 % ❌ │      25 │       25 │  +0.0 % ➖ │
│ kuramoto_homogeneous → poly_buf → sprs       │    100 │   2.562 μs │   2.610 μs │  -1.9 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │   1000 │  16.861 μs │  16.500 μs │  +2.2 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │  10000 │ 165.730 μs │ 160.811 μs │  +3.1 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │ 100000 │   2.048 ms │   2.031 ms │  +0.8 % ➖ │       3 │        3 │  +0.0 % ➖ │
│ kuramoto_homogeneous → thrd_buf → seq        │    100 │  10.384 μs │   9.157 μs │ +13.4 % ❌ │      66 │       66 │  +0.0 % ➖ │
│                                              │   1000 │  21.761 μs │  21.240 μs │  +2.5 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                              │  10000 │ 143.788 μs │ 132.217 μs │  +8.8 % ❌ │      66 │       66 │  +0.0 % ➖ │
│                                              │ 100000 │   1.251 ms │   1.241 ms │  +0.8 % ➖ │      66 │       66 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → assemble            │    100 │ 152.334 μs │ 154.860 μs │  -1.6 % ➖ │     928 │      928 │  +0.0 % ➖ │
│                                              │   1000 │   1.409 ms │   1.389 ms │  +1.5 % ➖ │    6375 │     6375 │  +0.0 % ➖ │
│                                              │  10000 │  13.892 ms │  13.964 ms │  -0.5 % ➖ │   60404 │    60404 │  +0.0 % ➖ │
│                                              │ 100000 │ 126.087 ms │ 119.491 ms │  +5.5 % ❌ │  600429 │   600429 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → seq → seq           │    100 │   1.020 μs │   1.029 μs │  -0.9 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   1000 │   9.984 μs │  10.159 μs │  -1.7 % ➖ │         │          │  +0.0 % ➖ │
│                                              │  10000 │ 109.314 μs │ 111.458 μs │  -1.9 % ➖ │         │          │  +0.0 % ➖ │
│                                              │ 100000 │   1.533 ms │   1.497 ms │  +2.4 % ➖ │         │          │  +0.0 % ➖ │
│ kuramoto_heterogeneous → ka → seq            │    100 │   4.538 μs │   4.470 μs │  +1.5 % ➖ │      76 │       76 │  +0.0 % ➖ │
│                                              │   1000 │  13.635 μs │  13.726 μs │  -0.7 % ➖ │      77 │       77 │  +0.0 % ➖ │
│                                              │  10000 │ 192.910 μs │ 191.488 μs │  +0.7 % ➖ │     383 │      383 │  +0.0 % ➖ │
│                                              │ 100000 │   1.133 ms │   1.122 ms │  +1.0 % ➖ │    1351 │     1351 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → poly → seq          │    100 │   2.358 μs │   2.381 μs │  -1.0 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │   1000 │  11.076 μs │  11.116 μs │  -0.4 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │  10000 │  93.695 μs │  94.677 μs │  -1.0 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │ 100000 │   1.024 ms │   1.028 ms │  -0.4 % ➖ │       5 │        5 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → thrd → seq          │    100 │  15.999 μs │  16.681 μs │  -4.1 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                              │   1000 │  28.573 μs │  29.195 μs │  -2.1 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                              │  10000 │ 142.527 μs │ 124.794 μs │ +14.2 % ❌ │     110 │      110 │  +0.0 % ➖ │
│                                              │ 100000 │   1.073 ms │   1.043 ms │  +2.9 % ➖ │     110 │      110 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → seq_buf → seq       │    100 │   1.087 μs │   1.072 μs │  +1.3 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   1000 │  10.455 μs │  10.219 μs │  +2.3 % ➖ │         │          │  +0.0 % ➖ │
│                                              │  10000 │ 109.856 μs │ 108.362 μs │  +1.4 % ➖ │         │          │  +0.0 % ➖ │
│                                              │ 100000 │   1.355 ms │   1.297 ms │  +4.5 % ➖ │         │          │  +0.0 % ➖ │
│ kuramoto_heterogeneous → ka_buf → seq        │    100 │   4.552 μs │   4.530 μs │  +0.5 % ➖ │      76 │       76 │  +0.0 % ➖ │
│                                              │   1000 │  13.886 μs │  13.846 μs │  +0.3 % ➖ │      77 │       77 │  +0.0 % ➖ │
│                                              │  10000 │ 215.483 μs │ 225.682 μs │  -4.5 % ➖ │     383 │      383 │  +0.0 % ➖ │
│                                              │ 100000 │   1.291 ms │   1.300 ms │  -0.7 % ➖ │    1351 │     1351 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → poly_buf → seq      │    100 │   2.611 μs │   2.727 μs │  -4.3 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │   1000 │  13.285 μs │  12.915 μs │  +2.9 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │  10000 │ 112.550 μs │ 115.385 μs │  -2.5 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │ 100000 │   1.281 ms │   1.261 ms │  +1.5 % ➖ │       5 │        5 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → poly_buf → ka       │    100 │   3.421 μs │   3.419 μs │  +0.0 % ➖ │      15 │       15 │  +0.0 % ➖ │
│                                              │   1000 │ 135.484 μs │ 136.525 μs │  -0.8 % ➖ │      39 │       39 │  +0.0 % ➖ │
│                                              │  10000 │ 293.709 μs │ 293.539 μs │  +0.1 % ➖ │      58 │       58 │  +0.0 % ➖ │
│                                              │ 100000 │   2.141 ms │   2.112 ms │  +1.4 % ➖ │      58 │       58 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → poly_buf → poly     │    100 │   3.329 μs │   3.366 μs │  -1.1 % ➖ │       8 │        8 │  +0.0 % ➖ │
│                                              │   1000 │  14.186 μs │  14.317 μs │  -0.9 % ➖ │       8 │        8 │  +0.0 % ➖ │
│                                              │  10000 │ 133.018 μs │ 133.800 μs │  -0.6 % ➖ │       8 │        8 │  +0.0 % ➖ │
│                                              │ 100000 │   1.600 ms │   1.630 ms │  -1.8 % ➖ │       8 │        8 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → poly_buf → thrd     │    100 │ 116.968 μs │ 147.144 μs │ -20.5 % ✅ │      27 │       27 │  +0.0 % ➖ │
│                                              │   1000 │ 130.884 μs │ 130.394 μs │  +0.4 % ➖ │      27 │       27 │  +0.0 % ➖ │
│                                              │  10000 │ 264.424 μs │ 273.020 μs │  -3.1 % ➖ │      27 │       27 │  +0.0 % ➖ │
│                                              │ 100000 │   2.278 ms │   2.672 ms │ -14.8 % ✅ │      27 │       27 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → poly_buf → sprs     │    100 │   3.138 μs │   3.210 μs │  -2.2 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │   1000 │  17.724 μs │  17.543 μs │  +1.0 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │  10000 │ 168.424 μs │ 160.841 μs │  +4.7 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │ 100000 │   2.043 ms │   2.015 ms │  +1.4 % ➖ │       5 │        5 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → thrd_buf → seq      │    100 │  17.333 μs │  15.900 μs │  +9.0 % ❌ │     110 │      110 │  +0.0 % ➖ │
│                                              │   1000 │  28.924 μs │  29.014 μs │  -0.3 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                              │  10000 │ 155.421 μs │ 148.277 μs │  +4.8 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                              │ 100000 │   1.237 ms │   1.223 ms │  +1.1 % ➖ │     110 │      110 │  +0.0 % ➖ │
│ powergrid → assemble                         │    100 │ 218.699 μs │ 229.379 μs │  -4.7 % ➖ │    1460 │     1460 │  +0.0 % ➖ │
│                                              │   1000 │   1.933 ms │   1.933 ms │  +0.0 % ➖ │   11652 │    11652 │  +0.0 % ➖ │
│                                              │  10000 │  16.818 ms │  16.716 ms │  +0.6 % ➖ │  115269 │   115269 │  +0.0 % ➖ │
│                                              │ 100000 │ 213.556 ms │ 205.987 ms │  +3.7 % ➖ │ 1150386 │  1150386 │  +0.0 % ➖ │
│ powergrid → seq → seq                        │    100 │   7.026 μs │   6.903 μs │  +1.8 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   1000 │  69.600 μs │  69.259 μs │  +0.5 % ➖ │         │          │  +0.0 % ➖ │
│                                              │  10000 │ 708.674 μs │ 702.974 μs │  +0.8 % ➖ │         │          │  +0.0 % ➖ │
│                                              │ 100000 │   7.698 ms │   7.701 ms │  -0.0 % ➖ │         │          │  +0.0 % ➖ │
│ powergrid → ka → seq                         │    100 │  10.440 μs │  10.470 μs │  -0.3 % ➖ │      76 │       76 │  +0.0 % ➖ │
│                                              │   1000 │  73.477 μs │  73.497 μs │  -0.0 % ➖ │      77 │       77 │  +0.0 % ➖ │
│                                              │  10000 │ 516.164 μs │ 538.847 μs │  -4.2 % ➖ │     383 │      383 │  +0.0 % ➖ │
│                                              │ 100000 │   3.467 ms │   3.456 ms │  +0.3 % ➖ │    1351 │     1351 │  +0.0 % ➖ │
│ powergrid → poly → seq                       │    100 │   4.747 μs │   4.799 μs │  -1.1 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │   1000 │  32.791 μs │  32.300 μs │  +1.5 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │  10000 │ 311.202 μs │ 306.593 μs │  +1.5 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │ 100000 │   3.364 ms │   3.367 ms │  -0.1 % ➖ │       5 │        5 │  +0.0 % ➖ │
│ powergrid → thrd → seq                       │    100 │  18.334 μs │  20.588 μs │ -10.9 % ✅ │     110 │      110 │  +0.0 % ➖ │
│                                              │   1000 │  68.499 μs │  64.932 μs │  +5.5 % ❌ │     110 │      110 │  +0.0 % ➖ │
│                                              │  10000 │ 543.976 μs │ 537.114 μs │  +1.3 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                              │ 100000 │   3.499 ms │   3.523 ms │  -0.7 % ➖ │     110 │      110 │  +0.0 % ➖ │
│ powergrid → seq_buf → seq                    │    100 │   7.329 μs │   7.279 μs │  +0.7 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   1000 │  72.976 μs │  72.796 μs │  +0.2 % ➖ │         │          │  +0.0 % ➖ │
│                                              │  10000 │ 742.207 μs │ 739.673 μs │  +0.3 % ➖ │         │          │  +0.0 % ➖ │
│                                              │ 100000 │   8.280 ms │   8.244 ms │  +0.4 % ➖ │         │          │  +0.0 % ➖ │
│ powergrid → ka_buf → seq                     │    100 │  10.821 μs │  10.816 μs │  +0.0 % ➖ │      76 │       76 │  +0.0 % ➖ │
│                                              │   1000 │  77.064 μs │  77.204 μs │  -0.2 % ➖ │      77 │       77 │  +0.0 % ➖ │
│                                              │  10000 │ 622.674 μs │ 608.286 μs │  +2.4 % ➖ │     383 │      383 │  +0.0 % ➖ │
│                                              │ 100000 │   4.057 ms │   4.068 ms │  -0.3 % ➖ │    1351 │     1351 │  +0.0 % ➖ │
│ powergrid → poly_buf → seq                   │    100 │   5.412 μs │   5.330 μs │  +1.5 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │   1000 │  39.564 μs │  37.901 μs │  +4.4 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │  10000 │ 380.451 μs │ 357.598 μs │  +6.4 % ❌ │       5 │        5 │  +0.0 % ➖ │
│                                              │ 100000 │   4.287 ms │   4.138 ms │  +3.6 % ➖ │       5 │        5 │  +0.0 % ➖ │
│ powergrid → poly_buf → ka                    │    100 │   6.830 μs │   6.512 μs │  +4.9 % ➖ │      15 │       15 │  +0.0 % ➖ │
│                                              │   1000 │ 106.710 μs │ 169.136 μs │ -36.9 % ✅ │      58 │       58 │  +0.0 % ➖ │
│                                              │  10000 │ 605.532 μs │ 606.213 μs │  -0.1 % ➖ │      58 │       58 │  +0.0 % ➖ │
│                                              │ 100000 │   5.565 ms │   5.542 ms │  +0.4 % ➖ │      58 │       58 │  +0.0 % ➖ │
│ powergrid → poly_buf → poly                  │    100 │   5.911 μs │   5.954 μs │  -0.7 % ➖ │       8 │        8 │  +0.0 % ➖ │
│                                              │   1000 │  41.137 μs │  39.484 μs │  +4.2 % ➖ │       8 │        8 │  +0.0 % ➖ │
│                                              │  10000 │ 387.754 μs │ 392.864 μs │  -1.3 % ➖ │       8 │        8 │  +0.0 % ➖ │
│                                              │ 100000 │   5.240 ms │   5.586 ms │  -6.2 % ✅ │       8 │        8 │  +0.0 % ➖ │
│ powergrid → poly_buf → thrd                  │    100 │ 119.924 μs │ 176.009 μs │ -31.9 % ✅ │      27 │       27 │  +0.0 % ➖ │
│                                              │   1000 │ 160.911 μs │ 157.674 μs │  +2.1 % ➖ │      27 │       27 │  +0.0 % ➖ │
│                                              │  10000 │ 574.854 μs │ 567.671 μs │  +1.3 % ➖ │      27 │       27 │  +0.0 % ➖ │
│                                              │ 100000 │   6.565 ms │   6.890 ms │  -4.7 % ➖ │      27 │       27 │  +0.0 % ➖ │
│ powergrid → poly_buf → sprs                  │    100 │   6.477 μs │   6.179 μs │  +4.8 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │   1000 │  49.132 μs │  47.398 μs │  +3.7 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │  10000 │ 473.986 μs │ 465.770 μs │  +1.8 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │ 100000 │   5.700 ms │   5.633 ms │  +1.2 % ➖ │       5 │        5 │  +0.0 % ➖ │
│ powergrid → thrd_buf → seq                   │    100 │  21.079 μs │  20.859 μs │  +1.1 % ➖ │     110 │      118 │  -6.8 % ✅ │
│                                              │   1000 │  73.849 μs │  75.101 μs │  -1.7 % ➖ │     110 │      118 │  -6.8 % ✅ │
│                                              │  10000 │ 609.118 μs │ 593.841 μs │  +2.6 % ➖ │     110 │      118 │  -6.8 % ✅ │
│                                              │ 100000 │   4.102 ms │   4.213 ms │  -2.6 % ➖ │     110 │      118 │  -6.8 % ✅ │
│ powergrid_inhomogeneous_pq → assemble        │    100 │ 497.009 μs │ 498.883 μs │  -0.4 % ➖ │    3107 │     3107 │  +0.0 % ➖ │
│                                              │   1000 │   4.355 ms │   4.387 ms │  -0.7 % ➖ │   30091 │    30091 │  +0.0 % ➖ │
│                                              │  10000 │  56.464 ms │  58.896 ms │  -4.1 % ➖ │  300229 │   300229 │  +0.0 % ➖ │
│                                              │ 100000 │    1.200 s │    1.215 s │  -1.2 % ➖ │ 3000323 │  3000323 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → seq → seq       │    100 │   9.271 μs │   9.378 μs │  -1.1 % ➖ │     102 │      102 │  +0.0 % ➖ │
│                                              │   1000 │  94.547 μs │  94.697 μs │  -0.2 % ➖ │    1002 │     1002 │  +0.0 % ➖ │
│                                              │  10000 │ 973.999 μs │ 963.139 μs │  +1.1 % ➖ │   10002 │    10002 │  +0.0 % ➖ │
│                                              │ 100000 │  10.535 ms │  10.619 ms │  -0.8 % ➖ │  100002 │   100002 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → ka → seq        │    100 │  75.100 μs │  74.229 μs │  +1.2 % ➖ │    1750 │     1750 │  +0.0 % ➖ │
│                                              │   1000 │ 730.274 μs │ 726.248 μs │  +0.6 % ➖ │   17051 │    17051 │  +0.0 % ➖ │
│                                              │  10000 │   7.479 ms │   7.487 ms │  -0.1 % ➖ │  170243 │   170243 │  +0.0 % ➖ │
│                                              │ 100000 │  78.427 ms │  81.318 ms │  -3.6 % ➖ │ 1700903 │  1700903 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → poly → seq      │    100 │   9.653 μs │   9.738 μs │  -0.9 % ➖ │     105 │      105 │  +0.0 % ➖ │
│                                              │   1000 │  87.804 μs │  87.283 μs │  +0.6 % ➖ │    1005 │     1005 │  +0.0 % ➖ │
│                                              │  10000 │ 872.701 μs │ 862.002 μs │  +1.2 % ➖ │   10005 │    10005 │  +0.0 % ➖ │
│                                              │ 100000 │   9.493 ms │   9.453 ms │  +0.4 % ➖ │  100005 │   100005 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → thrd → seq      │    100 │ 383.106 μs │ 389.137 μs │  -1.5 % ➖ │    2368 │     2368 │  +0.0 % ➖ │
│                                              │   1000 │   4.019 ms │   3.999 ms │  +0.5 % ➖ │   23068 │    23068 │  +0.0 % ➖ │
│                                              │  10000 │  51.960 ms │  53.333 ms │  -2.6 % ➖ │  230068 │   230068 │  +0.0 % ➖ │
│                                              │ 100000 │ 603.641 ms │ 603.214 ms │  +0.1 % ➖ │ 2300068 │  2300068 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → seq_buf → seq   │    100 │   9.693 μs │  10.184 μs │  -4.8 % ➖ │     102 │      102 │  +0.0 % ➖ │
│                                              │   1000 │  96.530 μs │ 102.893 μs │  -6.2 % ✅ │    1002 │     1002 │  +0.0 % ➖ │
│                                              │  10000 │   1.008 ms │   1.061 ms │  -5.0 % ✅ │   10002 │    10002 │  +0.0 % ➖ │
│                                              │ 100000 │  11.128 ms │  11.480 ms │  -3.1 % ➖ │  100002 │   100002 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → ka_buf → seq    │    100 │  76.724 μs │  74.580 μs │  +2.9 % ➖ │    1750 │     1750 │  +0.0 % ➖ │
│                                              │   1000 │ 744.171 μs │ 733.290 μs │  +1.5 % ➖ │   17051 │    17051 │  +0.0 % ➖ │
│                                              │  10000 │   7.594 ms │   7.551 ms │  +0.6 % ➖ │  170243 │   170243 │  +0.0 % ➖ │
│                                              │ 100000 │  76.311 ms │  75.691 ms │  +0.8 % ➖ │ 1700903 │  1700903 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → poly_buf → seq  │    100 │  10.089 μs │  10.555 μs │  -4.4 % ➖ │     105 │      105 │  +0.0 % ➖ │
│                                              │   1000 │  91.511 μs │  91.872 μs │  -0.4 % ➖ │    1005 │     1005 │  +0.0 % ➖ │
│                                              │  10000 │ 908.167 μs │ 930.439 μs │  -2.4 % ➖ │   10005 │    10005 │  +0.0 % ➖ │
│                                              │ 100000 │  10.012 ms │  10.391 ms │  -3.6 % ➖ │  100005 │   100005 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → poly_buf → ka   │    100 │  11.396 μs │  11.497 μs │  -0.9 % ➖ │     115 │      115 │  +0.0 % ➖ │
│                                              │   1000 │ 225.070 μs │ 225.822 μs │  -0.3 % ➖ │    1058 │     1058 │  +0.0 % ➖ │
│                                              │  10000 │   1.198 ms │   1.313 ms │  -8.8 % ✅ │   10058 │    10058 │  +0.0 % ➖ │
│                                              │ 100000 │  11.984 ms │  12.236 ms │  -2.1 % ➖ │  100058 │   100058 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → poly_buf → poly │    100 │  10.991 μs │  11.081 μs │  -0.8 % ➖ │     108 │      108 │  +0.0 % ➖ │
│                                              │   1000 │  92.883 μs │  95.729 μs │  -3.0 % ➖ │    1008 │     1008 │  +0.0 % ➖ │
│                                              │  10000 │ 968.630 μs │ 973.369 μs │  -0.5 % ➖ │   10008 │    10008 │  +0.0 % ➖ │
│                                              │ 100000 │  12.177 ms │  12.056 ms │  +1.0 % ➖ │  100008 │   100008 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → poly_buf → thrd │    100 │ 124.493 μs │ 124.703 μs │  -0.2 % ➖ │     127 │      127 │  +0.0 % ➖ │
│                                              │   1000 │ 211.465 μs │ 318.265 μs │ -33.6 % ✅ │    1027 │     1027 │  +0.0 % ➖ │
│                                              │  10000 │   1.049 ms │   1.252 ms │ -16.2 % ✅ │   10027 │    10027 │  +0.0 % ➖ │
│                                              │ 100000 │  14.235 ms │  13.508 ms │  +5.4 % ❌ │  100027 │   100027 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → poly_buf → sprs │    100 │  11.071 μs │  11.111 μs │  -0.4 % ➖ │     105 │      105 │  +0.0 % ➖ │
│                                              │   1000 │ 101.510 μs │ 103.283 μs │  -1.7 % ➖ │    1005 │     1005 │  +0.0 % ➖ │
│                                              │  10000 │   1.048 ms │   1.053 ms │  -0.4 % ➖ │   10005 │    10005 │  +0.0 % ➖ │
│                                              │ 100000 │  12.155 ms │  12.362 ms │  -1.7 % ➖ │  100005 │   100005 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → thrd_buf → seq  │    100 │ 392.523 μs │ 377.044 μs │  +4.1 % ➖ │    2368 │     2376 │  -0.3 % ➖ │
│                                              │   1000 │   3.919 ms │   3.969 ms │  -1.3 % ➖ │   23068 │    23076 │  -0.0 % ➖ │
│                                              │  10000 │  51.441 ms │  51.872 ms │  -0.8 % ➖ │  230068 │   230076 │  -0.0 % ➖ │
│                                              │ 100000 │ 559.262 ms │ 544.581 ms │  +2.7 % ➖ │ 2300068 │  2300076 │  -0.0 % ➖ │
└──────────────────────────────────────────────┴────────┴────────────┴────────────┴────────────┴─────────┴──────────┴────────────┘

https://github.com/JuliaDynamics/NetworkDynamics.jl/actions/runs/19133764150/artifacts/4486586126

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants