Skip to content

yaml imput #232

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open

yaml imput #232

wants to merge 8 commits into from

Conversation

hexaeder
Copy link
Member

this PR adds an experimental feature to allow for network descriptions in yaml format

This comment has been minimized.

Copy link
Contributor

Benchmark Results
┌──────────────────────────────────────────────┬────────┬────────────┬────────────┬────────────┬─────────┬──────────┬────────────┐
│ Key                                          │        │ Time       │            │            │ Allocs  │          │            │
│                                              │        │ target     │ baseline   │            │ target  │ baseline │            │
├──────────────────────────────────────────────┼────────┼────────────┼────────────┼────────────┼─────────┼──────────┼────────────┤
│ diffusion_static_edge → assemble             │    100 │ 599.148 μs │   1.134 ms │ -47.1 % ✅ │    5388 │     5388 │  +0.0 % ➖ │
│                                              │    300 │   6.158 ms │   5.964 ms │  +3.3 % ➖ │   45598 │    45598 │  +0.0 % ➖ │
│                                              │   1000 │ 108.826 ms │ 111.702 ms │  -2.6 % ➖ │  501304 │   501304 │  +0.0 % ➖ │
│                                              │   3000 │    1.285 s │ 958.836 ms │ +34.0 % ❌ │ 4503304 │  4503304 │  +0.0 % ➖ │
│ diffusion_static_edge → seq → seq            │    100 │  10.415 μs │  10.595 μs │  -1.7 % ➖ │         │          │  +0.0 % ➖ │
│                                              │    300 │ 109.605 μs │ 109.535 μs │  +0.1 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   1000 │   1.309 ms │   1.300 ms │  +0.7 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   3000 │  13.249 ms │  12.712 ms │  +4.2 % ➖ │         │          │  +0.0 % ➖ │
│ diffusion_static_edge → ka → seq             │    100 │  17.252 μs │  17.623 μs │  -2.1 % ➖ │      87 │       87 │  +0.0 % ➖ │
│                                              │    300 │ 117.019 μs │ 108.192 μs │  +8.2 % ❌ │     172 │      172 │  +0.0 % ➖ │
│                                              │   1000 │   1.216 ms │   1.210 ms │  +0.5 % ➖ │    1066 │     1066 │  +0.0 % ➖ │
│                                              │   3000 │  12.298 ms │  12.188 ms │  +0.9 % ➖ │    8957 │     8957 │  +0.0 % ➖ │
│ diffusion_static_edge → poly → seq           │    100 │  11.978 μs │  12.013 μs │  -0.3 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │    300 │ 105.266 μs │ 104.805 μs │  +0.4 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │   1000 │   1.188 ms │   1.184 ms │  +0.3 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │   3000 │  12.508 ms │  13.057 ms │  -4.2 % ➖ │       3 │        3 │  +0.0 % ➖ │
│ diffusion_static_edge → thrd → seq           │    100 │  19.095 μs │  18.675 μs │  +2.2 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                              │    300 │ 117.018 μs │ 110.797 μs │  +5.6 % ❌ │      66 │       66 │  +0.0 % ➖ │
│                                              │   1000 │   1.212 ms │   1.183 ms │  +2.4 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                              │   3000 │  11.943 ms │  12.467 ms │  -4.2 % ➖ │      66 │       66 │  +0.0 % ➖ │
│ diffusion_static_edge → seq_buf → seq        │    100 │  11.326 μs │  11.502 μs │  -1.5 % ➖ │         │          │  +0.0 % ➖ │
│                                              │    300 │ 119.452 μs │ 117.669 μs │  +1.5 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   1000 │   1.393 ms │   1.385 ms │  +0.6 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   3000 │  14.117 ms │  14.335 ms │  -1.5 % ➖ │         │          │  +0.0 % ➖ │
│ diffusion_static_edge → ka_buf → seq         │    100 │  17.042 μs │  16.712 μs │  +2.0 % ➖ │      87 │       87 │  +0.0 % ➖ │
│                                              │    300 │ 139.661 μs │ 138.920 μs │  +0.5 % ➖ │     172 │      172 │  +0.0 % ➖ │
│                                              │   1000 │   1.489 ms │   1.420 ms │  +4.8 % ➖ │    1066 │     1066 │  +0.0 % ➖ │
│                                              │   3000 │  14.026 ms │  14.081 ms │  -0.4 % ➖ │    8957 │     8957 │  +0.0 % ➖ │
│ diffusion_static_edge → poly_buf → seq       │    100 │  14.707 μs │  17.823 μs │ -17.5 % ✅ │       3 │        3 │  +0.0 % ➖ │
│                                              │    300 │ 129.412 μs │ 157.584 μs │ -17.9 % ✅ │       3 │        3 │  +0.0 % ➖ │
│                                              │   1000 │   1.449 ms │   1.772 ms │ -18.2 % ✅ │       3 │        3 │  +0.0 % ➖ │
│                                              │   3000 │  14.608 ms │  17.570 ms │ -16.9 % ✅ │       3 │        3 │  +0.0 % ➖ │
│ diffusion_static_edge → poly_buf → ka        │    100 │  35.797 μs │  33.062 μs │  +8.3 % ❌ │      55 │       55 │  +0.0 % ➖ │
│                                              │    300 │ 259.795 μs │ 234.668 μs │ +10.7 % ❌ │      55 │       55 │  +0.0 % ➖ │
│                                              │   1000 │   2.829 ms │   2.458 ms │ +15.1 % ❌ │      55 │       55 │  +0.0 % ➖ │
│                                              │   3000 │  26.402 ms │  23.431 ms │ +12.7 % ❌ │      56 │       56 │  +0.0 % ➖ │
│ diffusion_static_edge → poly_buf → poly      │    100 │   9.618 μs │   9.803 μs │  -1.9 % ➖ │       6 │        6 │  +0.0 % ➖ │
│                                              │    300 │  65.362 μs │  70.812 μs │  -7.7 % ✅ │       6 │        6 │  +0.0 % ➖ │
│                                              │   1000 │ 672.525 μs │ 675.370 μs │  -0.4 % ➖ │       6 │        6 │  +0.0 % ➖ │
│                                              │   3000 │   7.729 ms │   7.928 ms │  -2.5 % ➖ │       6 │        6 │  +0.0 % ➖ │
│ diffusion_static_edge → poly_buf → thrd      │    100 │  19.446 μs │  16.391 μs │ +18.6 % ❌ │      25 │       25 │  +0.0 % ➖ │
│                                              │    300 │ 128.209 μs │ 100.297 μs │ +27.8 % ❌ │      25 │       25 │  +0.0 % ➖ │
│                                              │   1000 │   1.357 ms │   1.001 ms │ +35.5 % ❌ │      25 │       25 │  +0.0 % ➖ │
│                                              │   3000 │  13.524 ms │  11.171 ms │ +21.1 % ❌ │      25 │       25 │  +0.0 % ➖ │
│ diffusion_static_edge → poly_buf → sprs      │    100 │  19.756 μs │  19.557 μs │  +1.0 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │    300 │ 168.704 μs │ 167.532 μs │  +0.7 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │   1000 │   1.872 ms │   1.856 ms │  +0.9 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │   3000 │  18.372 ms │  17.765 ms │  +3.4 % ➖ │       3 │        3 │  +0.0 % ➖ │
│ diffusion_static_edge → thrd_buf → seq       │    100 │  25.989 μs │  22.451 μs │ +15.8 % ❌ │      66 │       66 │  +0.0 % ➖ │
│                                              │    300 │ 148.237 μs │ 140.463 μs │  +5.5 % ❌ │      66 │       66 │  +0.0 % ➖ │
│                                              │   1000 │   1.455 ms │   1.397 ms │  +4.1 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                              │   3000 │  13.785 ms │  14.164 ms │  -2.7 % ➖ │      66 │       66 │  +0.0 % ➖ │
│ diffusion_ode_edge → assemble                │    100 │ 593.929 μs │ 621.200 μs │  -4.4 % ➖ │    5398 │     5398 │  +0.0 % ➖ │
│                                              │    300 │   4.973 ms │   5.214 ms │  -4.6 % ➖ │   45607 │    45607 │  +0.0 % ➖ │
│                                              │   1000 │  80.760 ms │ 105.362 ms │ -23.4 % ✅ │  501310 │   501310 │  +0.0 % ➖ │
│                                              │   3000 │    1.323 s │    1.295 s │  +2.1 % ➖ │ 4503310 │  4503310 │  +0.0 % ➖ │
│ diffusion_ode_edge → seq → seq               │    100 │  42.940 μs │  42.319 μs │  +1.5 % ➖ │         │          │  +0.0 % ➖ │
│                                              │    300 │ 408.603 μs │ 404.155 μs │  +1.1 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   1000 │   4.701 ms │   4.626 ms │  +1.6 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   3000 │  43.734 ms │  43.030 ms │  +1.6 % ➖ │         │          │  +0.0 % ➖ │
│ diffusion_ode_edge → ka → seq                │    100 │  50.614 μs │  50.665 μs │  -0.1 % ➖ │     140 │      140 │  +0.0 % ➖ │
│                                              │    300 │ 302.023 μs │ 302.955 μs │  -0.3 % ➖ │     291 │      291 │  +0.0 % ➖ │
│                                              │   1000 │   2.962 ms │   2.954 ms │  +0.3 % ➖ │    1854 │     1854 │  +0.0 % ➖ │
│                                              │   3000 │  28.934 ms │  28.277 ms │  +2.3 % ➖ │   15605 │    15605 │  +0.0 % ➖ │
│ diffusion_ode_edge → poly → seq              │    100 │  28.182 μs │  28.473 μs │  -1.0 % ➖ │       4 │        4 │  +0.0 % ➖ │
│                                              │    300 │ 251.159 μs │ 251.098 μs │  +0.0 % ➖ │       4 │        4 │  +0.0 % ➖ │
│                                              │   1000 │   2.852 ms │   2.821 ms │  +1.1 % ➖ │       4 │        4 │  +0.0 % ➖ │
│                                              │   3000 │  27.129 ms │  27.119 ms │  +0.0 % ➖ │       4 │        4 │  +0.0 % ➖ │
│ diffusion_ode_edge → thrd → seq              │    100 │  40.236 μs │  38.793 μs │  +3.7 % ➖ │      88 │       88 │  +0.0 % ➖ │
│                                              │    300 │ 268.442 μs │ 267.169 μs │  +0.5 % ➖ │      88 │       88 │  +0.0 % ➖ │
│                                              │   1000 │   2.881 ms │   2.832 ms │  +1.7 % ➖ │      88 │       88 │  +0.0 % ➖ │
│                                              │   3000 │  27.447 ms │  27.424 ms │  +0.1 % ➖ │      88 │       88 │  +0.0 % ➖ │
│ diffusion_ode_edge → seq_buf → seq           │    100 │  40.465 μs │  41.087 μs │  -1.5 % ➖ │         │          │  +0.0 % ➖ │
│                                              │    300 │ 386.973 μs │ 392.132 μs │  -1.3 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   1000 │   4.476 ms │   4.492 ms │  -0.4 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   3000 │  41.820 ms │  42.066 ms │  -0.6 % ➖ │         │          │  +0.0 % ➖ │
│ diffusion_ode_edge → ka_buf → seq            │    100 │  51.987 μs │  54.081 μs │  -3.9 % ➖ │     140 │      140 │  +0.0 % ➖ │
│                                              │    300 │ 297.476 μs │ 351.205 μs │ -15.3 % ✅ │     291 │      291 │  +0.0 % ➖ │
│                                              │   1000 │   3.018 ms │   3.103 ms │  -2.7 % ➖ │    1854 │     1854 │  +0.0 % ➖ │
│                                              │   3000 │  29.352 ms │  29.803 ms │  -1.5 % ➖ │   15605 │    15605 │  +0.0 % ➖ │
│ diffusion_ode_edge → poly_buf → seq          │    100 │  32.059 μs │  28.874 μs │ +11.0 % ❌ │       4 │        4 │  +0.0 % ➖ │
│                                              │    300 │ 288.228 μs │ 256.078 μs │ +12.6 % ❌ │       4 │        4 │  +0.0 % ➖ │
│                                              │   1000 │   3.274 ms │   2.856 ms │ +14.6 % ❌ │       4 │        4 │  +0.0 % ➖ │
│                                              │   3000 │  30.848 ms │  27.709 ms │ +11.3 % ❌ │       4 │        4 │  +0.0 % ➖ │
│ diffusion_ode_edge → poly_buf → ka           │    100 │  47.469 μs │  50.214 μs │  -5.5 % ✅ │      56 │       56 │  +0.0 % ➖ │
│                                              │    300 │ 359.281 μs │ 388.565 μs │  -7.5 % ✅ │      56 │       56 │  +0.0 % ➖ │
│                                              │   1000 │   3.944 ms │   4.272 ms │  -7.7 % ✅ │      56 │       56 │  +0.0 % ➖ │
│                                              │   3000 │  37.059 ms │  39.753 ms │  -6.8 % ✅ │      57 │       57 │  +0.0 % ➖ │
│ diffusion_ode_edge → poly_buf → poly         │    100 │  26.950 μs │  24.396 μs │ +10.5 % ❌ │       7 │        7 │  +0.0 % ➖ │
│                                              │    300 │ 235.219 μs │ 198.420 μs │ +18.5 % ❌ │       7 │        7 │  +0.0 % ➖ │
│                                              │   1000 │   2.550 ms │   2.189 ms │ +16.5 % ❌ │       7 │        7 │  +0.0 % ➖ │
│                                              │   3000 │  24.651 ms │  21.222 ms │ +16.2 % ❌ │       7 │        7 │  +0.0 % ➖ │
│ diffusion_ode_edge → poly_buf → thrd         │    100 │  33.873 μs │  33.653 μs │  +0.7 % ➖ │      26 │       26 │  +0.0 % ➖ │
│                                              │    300 │ 258.974 μs │ 254.866 μs │  +1.6 % ➖ │      26 │       26 │  +0.0 % ➖ │
│                                              │   1000 │   2.871 ms │   2.843 ms │  +1.0 % ➖ │      26 │       26 │  +0.0 % ➖ │
│                                              │   3000 │  27.131 ms │  27.013 ms │  +0.4 % ➖ │      26 │       26 │  +0.0 % ➖ │
│ diffusion_ode_edge → poly_buf → sprs         │    100 │  37.049 μs │  33.653 μs │ +10.1 % ❌ │       4 │        4 │  +0.0 % ➖ │
│                                              │    300 │ 327.070 μs │ 293.358 μs │ +11.5 % ❌ │       4 │        4 │  +0.0 % ➖ │
│                                              │   1000 │   3.704 ms │   3.374 ms │  +9.8 % ❌ │       4 │        4 │  +0.0 % ➖ │
│                                              │   3000 │  34.587 ms │  31.345 ms │ +10.3 % ❌ │       4 │        4 │  +0.0 % ➖ │
│ diffusion_ode_edge → thrd_buf → seq          │    100 │  42.399 μs │  41.778 μs │  +1.5 % ➖ │      88 │       88 │  +0.0 % ➖ │
│                                              │    300 │ 280.544 μs │ 285.504 μs │  -1.7 % ➖ │      88 │       88 │  +0.0 % ➖ │
│                                              │   1000 │   2.994 ms │   2.986 ms │  +0.3 % ➖ │      88 │       88 │  +0.0 % ➖ │
│                                              │   3000 │  28.424 ms │  28.916 ms │  -1.7 % ➖ │      88 │       88 │  +0.0 % ➖ │
│ kuramoto_homogeneous → assemble              │    100 │  84.778 μs │  79.108 μs │  +7.2 % ❌ │     577 │      577 │  +0.0 % ➖ │
│                                              │   1000 │ 897.826 μs │ 911.471 μs │  -1.5 % ➖ │    3308 │     3308 │  +0.0 % ➖ │
│                                              │  10000 │   5.926 ms │   5.894 ms │  +0.5 % ➖ │   30308 │    30308 │  +0.0 % ➖ │
│                                              │ 100000 │  47.737 ms │  48.705 ms │  -2.0 % ➖ │  300308 │   300308 │  +0.0 % ➖ │
│ kuramoto_homogeneous → seq → seq             │    100 │   1.081 μs │   1.134 μs │  -4.6 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   1000 │  11.351 μs │  11.376 μs │  -0.2 % ➖ │         │          │  +0.0 % ➖ │
│                                              │  10000 │ 119.092 μs │ 122.849 μs │  -3.1 % ➖ │         │          │  +0.0 % ➖ │
│                                              │ 100000 │   1.622 ms │   1.558 ms │  +4.1 % ➖ │         │          │  +0.0 % ➖ │
│ kuramoto_homogeneous → ka → seq              │    100 │   3.019 μs │   3.077 μs │  -1.9 % ➖ │      46 │       46 │  +0.0 % ➖ │
│                                              │   1000 │  13.155 μs │  13.270 μs │  -0.9 % ➖ │      49 │       49 │  +0.0 % ➖ │
│                                              │  10000 │ 142.206 μs │ 142.787 μs │  -0.4 % ➖ │     271 │      271 │  +0.0 % ➖ │
│                                              │ 100000 │   1.077 ms │   1.105 ms │  -2.6 % ➖ │    1239 │     1239 │  +0.0 % ➖ │
│ kuramoto_homogeneous → poly → seq            │    100 │   1.854 μs │   1.896 μs │  -2.2 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │   1000 │  10.380 μs │  10.239 μs │  +1.4 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │  10000 │  93.855 μs │  94.877 μs │  -1.1 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │ 100000 │   1.053 ms │   1.054 ms │  -0.1 % ➖ │       3 │        3 │  +0.0 % ➖ │
│ kuramoto_homogeneous → thrd → seq            │    100 │  11.652 μs │  11.171 μs │  +4.3 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                              │   1000 │  19.687 μs │  21.240 μs │  -7.3 % ✅ │      66 │       66 │  +0.0 % ➖ │
│                                              │  10000 │ 104.195 μs │ 112.279 μs │  -7.2 % ✅ │      66 │       66 │  +0.0 % ➖ │
│                                              │ 100000 │ 977.134 μs │ 964.149 μs │  +1.3 % ➖ │      66 │       66 │  +0.0 % ➖ │
│ kuramoto_homogeneous → seq_buf → seq         │    100 │ 987.034 ns │   1.052 μs │  -6.2 % ✅ │         │          │  +0.0 % ➖ │
│                                              │   1000 │   9.938 μs │  10.455 μs │  -4.9 % ➖ │         │          │  +0.0 % ➖ │
│                                              │  10000 │ 103.504 μs │ 111.258 μs │  -7.0 % ✅ │         │          │  +0.0 % ➖ │
│                                              │ 100000 │   1.223 ms │   1.212 ms │  +0.9 % ➖ │         │          │  +0.0 % ➖ │
│ kuramoto_homogeneous → ka_buf → seq          │    100 │   2.925 μs │   2.991 μs │  -2.2 % ➖ │      46 │       46 │  +0.0 % ➖ │
│                                              │   1000 │  12.283 μs │  12.729 μs │  -3.5 % ➖ │      49 │       49 │  +0.0 % ➖ │
│                                              │  10000 │ 145.281 μs │ 148.868 μs │  -2.4 % ➖ │     271 │      271 │  +0.0 % ➖ │
│                                              │ 100000 │   1.117 ms │   1.024 ms │  +9.0 % ❌ │    1239 │     1239 │  +0.0 % ➖ │
│ kuramoto_homogeneous → poly_buf → seq        │    100 │   1.984 μs │   2.117 μs │  -6.3 % ✅ │       3 │        3 │  +0.0 % ➖ │
│                                              │   1000 │  11.576 μs │  11.762 μs │  -1.6 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │  10000 │ 107.861 μs │ 109.996 μs │  -1.9 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │ 100000 │   1.224 ms │   1.222 ms │  +0.1 % ➖ │       3 │        3 │  +0.0 % ➖ │
│ kuramoto_homogeneous → poly_buf → ka         │    100 │   2.979 μs │   2.908 μs │  +2.4 % ➖ │      13 │       13 │  +0.0 % ➖ │
│                                              │   1000 │  21.310 μs │  20.108 μs │  +6.0 % ❌ │      37 │       37 │  +0.0 % ➖ │
│                                              │  10000 │ 170.719 μs │ 157.945 μs │  +8.1 % ❌ │      55 │       55 │  +0.0 % ➖ │
│                                              │ 100000 │   1.902 ms │   1.804 ms │  +5.4 % ❌ │      55 │       55 │  +0.0 % ➖ │
│ kuramoto_homogeneous → poly_buf → poly       │    100 │   2.653 μs │   2.571 μs │  +3.2 % ➖ │       6 │        6 │  +0.0 % ➖ │
│                                              │   1000 │  11.893 μs │  11.972 μs │  -0.7 % ➖ │       6 │        6 │  +0.0 % ➖ │
│                                              │  10000 │ 110.486 μs │ 110.747 μs │  -0.2 % ➖ │       6 │        6 │  +0.0 % ➖ │
│                                              │ 100000 │   1.346 ms │   1.210 ms │ +11.2 % ❌ │       6 │        6 │  +0.0 % ➖ │
│ kuramoto_homogeneous → poly_buf → thrd       │    100 │   7.630 μs │   7.594 μs │  +0.5 % ➖ │      25 │       25 │  +0.0 % ➖ │
│                                              │   1000 │  17.953 μs │  17.943 μs │  +0.1 % ➖ │      25 │       25 │  +0.0 % ➖ │
│                                              │  10000 │ 134.000 μs │ 137.186 μs │  -2.3 % ➖ │      25 │       25 │  +0.0 % ➖ │
│                                              │ 100000 │   1.886 ms │   1.721 ms │  +9.6 % ❌ │      25 │       25 │  +0.0 % ➖ │
│ kuramoto_homogeneous → poly_buf → sprs       │    100 │   2.416 μs │   2.444 μs │  -1.1 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │   1000 │  14.498 μs │  14.187 μs │  +2.2 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │  10000 │ 140.763 μs │ 139.100 μs │  +1.2 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                              │ 100000 │   1.718 ms │   1.723 ms │  -0.2 % ➖ │       3 │        3 │  +0.0 % ➖ │
│ kuramoto_homogeneous → thrd_buf → seq        │    100 │   8.727 μs │  10.670 μs │ -18.2 % ✅ │      66 │       66 │  +0.0 % ➖ │
│                                              │   1000 │  20.899 μs │  19.997 μs │  +4.5 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                              │  10000 │ 119.684 μs │  96.720 μs │ +23.7 % ❌ │      66 │       66 │  +0.0 % ➖ │
│                                              │ 100000 │   1.020 ms │ 956.364 μs │  +6.6 % ❌ │      66 │       66 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → assemble            │    100 │ 210.643 μs │ 200.304 μs │  +5.2 % ❌ │     936 │      936 │  +0.0 % ➖ │
│                                              │   1000 │   1.389 ms │   1.372 ms │  +1.3 % ➖ │    6377 │     6377 │  +0.0 % ➖ │
│                                              │  10000 │  13.633 ms │  13.988 ms │  -2.5 % ➖ │   60406 │    60406 │  +0.0 % ➖ │
│                                              │ 100000 │ 122.209 ms │ 123.277 ms │  -0.9 % ➖ │  600423 │   600423 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → seq → seq           │    100 │   1.118 μs │   1.123 μs │  -0.4 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   1000 │  10.820 μs │  11.101 μs │  -2.5 % ➖ │         │          │  +0.0 % ➖ │
│                                              │  10000 │ 116.297 μs │ 118.982 μs │  -2.3 % ➖ │         │          │  +0.0 % ➖ │
│                                              │ 100000 │   1.521 ms │   1.571 ms │  -3.2 % ➖ │         │          │  +0.0 % ➖ │
│ kuramoto_heterogeneous → ka → seq            │    100 │   4.398 μs │   4.372 μs │  +0.6 % ➖ │      76 │       76 │  +0.0 % ➖ │
│                                              │   1000 │  14.147 μs │  14.567 μs │  -2.9 % ➖ │      77 │       77 │  +0.0 % ➖ │
│                                              │  10000 │ 165.599 μs │ 159.748 μs │  +3.7 % ➖ │     378 │      378 │  +0.0 % ➖ │
│                                              │ 100000 │   1.078 ms │   1.088 ms │  -0.9 % ➖ │    1346 │     1346 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → poly → seq          │    100 │   2.593 μs │   2.571 μs │  +0.9 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │   1000 │  10.660 μs │  11.261 μs │  -5.3 % ✅ │       5 │        5 │  +0.0 % ➖ │
│                                              │  10000 │  92.493 μs │  94.707 μs │  -2.3 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │ 100000 │   1.028 ms │   1.054 ms │  -2.5 % ➖ │       5 │        5 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → thrd → seq          │    100 │  16.300 μs │  23.794 μs │ -31.5 % ✅ │     110 │      110 │  +0.0 % ➖ │
│                                              │   1000 │  31.829 μs │  33.903 μs │  -6.1 % ✅ │     110 │      110 │  +0.0 % ➖ │
│                                              │  10000 │ 122.608 μs │ 126.275 μs │  -2.9 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                              │ 100000 │ 943.621 μs │ 935.597 μs │  +0.9 % ➖ │     110 │      110 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → seq_buf → seq       │    100 │   1.013 μs │   1.029 μs │  -1.5 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   1000 │   9.828 μs │  10.350 μs │  -5.0 % ✅ │         │          │  +0.0 % ➖ │
│                                              │  10000 │ 107.110 μs │ 106.369 μs │  +0.7 % ➖ │         │          │  +0.0 % ➖ │
│                                              │ 100000 │   1.225 ms │   1.244 ms │  -1.5 % ➖ │         │          │  +0.0 % ➖ │
│ kuramoto_heterogeneous → ka_buf → seq        │    100 │   4.398 μs │   4.380 μs │  +0.4 % ➖ │      76 │       76 │  +0.0 % ➖ │
│                                              │   1000 │  13.646 μs │  13.901 μs │  -1.8 % ➖ │      77 │       77 │  +0.0 % ➖ │
│                                              │  10000 │ 169.036 μs │ 169.898 μs │  -0.5 % ➖ │     378 │      378 │  +0.0 % ➖ │
│                                              │ 100000 │   1.096 ms │   1.192 ms │  -8.0 % ✅ │    1346 │     1346 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → poly_buf → seq      │    100 │   2.526 μs │   2.545 μs │  -0.7 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │   1000 │  11.111 μs │  11.572 μs │  -4.0 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │  10000 │  97.081 μs │  98.594 μs │  -1.5 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │ 100000 │   1.124 ms │   1.143 ms │  -1.6 % ➖ │       5 │        5 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → poly_buf → ka       │    100 │   3.432 μs │   3.499 μs │  -1.9 % ➖ │      15 │       15 │  +0.0 % ➖ │
│                                              │   1000 │  21.871 μs │  21.901 μs │  -0.1 % ➖ │      39 │       39 │  +0.0 % ➖ │
│                                              │  10000 │ 170.338 μs │ 168.915 μs │  +0.8 % ➖ │      57 │       57 │  +0.0 % ➖ │
│                                              │ 100000 │   1.852 ms │   1.856 ms │  -0.2 % ➖ │      57 │       57 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → poly_buf → poly     │    100 │   3.277 μs │   3.100 μs │  +5.7 % ❌ │       8 │        8 │  +0.0 % ➖ │
│                                              │   1000 │  12.298 μs │  13.355 μs │  -7.9 % ✅ │       8 │        8 │  +0.0 % ➖ │
│                                              │  10000 │ 119.273 μs │ 107.681 μs │ +10.8 % ❌ │       8 │        8 │  +0.0 % ➖ │
│                                              │ 100000 │   1.299 ms │   1.296 ms │  +0.3 % ➖ │       8 │        8 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → poly_buf → thrd     │    100 │   8.240 μs │   8.165 μs │  +0.9 % ➖ │      27 │       27 │  +0.0 % ➖ │
│                                              │   1000 │  18.504 μs │  18.284 μs │  +1.2 % ➖ │      27 │       27 │  +0.0 % ➖ │
│                                              │  10000 │ 146.093 μs │ 136.935 μs │  +6.7 % ❌ │      27 │       27 │  +0.0 % ➖ │
│                                              │ 100000 │   1.792 ms │   1.772 ms │  +1.2 % ➖ │      27 │       27 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → poly_buf → sprs     │    100 │   2.905 μs │   3.017 μs │  -3.7 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │   1000 │  14.958 μs │  14.978 μs │  -0.1 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │  10000 │ 151.463 μs │ 138.999 μs │  +9.0 % ❌ │       5 │        5 │  +0.0 % ➖ │
│                                              │ 100000 │   1.707 ms │   1.708 ms │  -0.0 % ➖ │       5 │        5 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → thrd_buf → seq      │    100 │  22.342 μs │  21.650 μs │  +3.2 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                              │   1000 │  28.854 μs │  37.209 μs │ -22.5 % ✅ │     110 │      110 │  +0.0 % ➖ │
│                                              │  10000 │ 108.693 μs │ 113.081 μs │  -3.9 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                              │ 100000 │   1.021 ms │   1.002 ms │  +1.9 % ➖ │     110 │      110 │  +0.0 % ➖ │
│ powergrid → assemble                         │    100 │ 201.506 μs │ 199.823 μs │  +0.8 % ➖ │    1468 │     1468 │  +0.0 % ➖ │
│                                              │   1000 │   1.821 ms │   1.821 ms │  -0.0 % ➖ │   11654 │    11654 │  +0.0 % ➖ │
│                                              │  10000 │  15.618 ms │  15.370 ms │  +1.6 % ➖ │  115271 │   115271 │  +0.0 % ➖ │
│                                              │ 100000 │ 209.519 ms │ 212.588 ms │  -1.4 % ➖ │ 1150380 │  1150380 │  +0.0 % ➖ │
│ powergrid → seq → seq                        │    100 │   7.286 μs │   7.397 μs │  -1.5 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   1000 │  72.355 μs │  73.286 μs │  -1.3 % ➖ │         │          │  +0.0 % ➖ │
│                                              │  10000 │ 746.603 μs │ 744.921 μs │  +0.2 % ➖ │         │          │  +0.0 % ➖ │
│                                              │ 100000 │   8.151 ms │   8.038 ms │  +1.4 % ➖ │         │          │  +0.0 % ➖ │
│ powergrid → ka → seq                         │    100 │  10.740 μs │  10.925 μs │  -1.7 % ➖ │      76 │       76 │  +0.0 % ➖ │
│                                              │   1000 │  76.573 μs │  77.515 μs │  -1.2 % ➖ │      77 │       77 │  +0.0 % ➖ │
│                                              │  10000 │ 511.515 μs │ 516.854 μs │  -1.0 % ➖ │     378 │      378 │  +0.0 % ➖ │
│                                              │ 100000 │   3.607 ms │   3.628 ms │  -0.6 % ➖ │    1346 │     1346 │  +0.0 % ➖ │
│ powergrid → poly → seq                       │    100 │   4.733 μs │   4.777 μs │  -0.9 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │   1000 │  32.330 μs │  32.441 μs │  -0.3 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │  10000 │ 306.071 μs │ 308.966 μs │  -0.9 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │ 100000 │   3.487 ms │   3.443 ms │  +1.3 % ➖ │       5 │        5 │  +0.0 % ➖ │
│ powergrid → thrd → seq                       │    100 │  21.631 μs │  25.218 μs │ -14.2 % ✅ │     110 │      110 │  +0.0 % ➖ │
│                                              │   1000 │  52.999 μs │  59.681 μs │ -11.2 % ✅ │     110 │      110 │  +0.0 % ➖ │
│                                              │  10000 │ 363.058 μs │ 372.565 μs │  -2.6 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                              │ 100000 │   3.330 ms │   3.298 ms │  +1.0 % ➖ │     110 │      110 │  +0.0 % ➖ │
│ powergrid → seq_buf → seq                    │    100 │   7.431 μs │   7.551 μs │  -1.6 % ➖ │         │          │  +0.0 % ➖ │
│                                              │   1000 │  74.259 μs │  75.130 μs │  -1.2 % ➖ │         │          │  +0.0 % ➖ │
│                                              │  10000 │ 763.586 μs │ 771.540 μs │  -1.0 % ➖ │         │          │  +0.0 % ➖ │
│                                              │ 100000 │   8.441 ms │   8.258 ms │  +2.2 % ➖ │         │          │  +0.0 % ➖ │
│ powergrid → ka_buf → seq                     │    100 │  10.890 μs │  10.965 μs │  -0.7 % ➖ │      76 │       76 │  +0.0 % ➖ │
│                                              │   1000 │  78.687 μs │  79.489 μs │  -1.0 % ➖ │      77 │       77 │  +0.0 % ➖ │
│                                              │  10000 │ 518.005 μs │ 548.084 μs │  -5.5 % ✅ │     378 │      378 │  +0.0 % ➖ │
│                                              │ 100000 │   3.839 ms │   3.718 ms │  +3.3 % ➖ │    1346 │     1346 │  +0.0 % ➖ │
│ powergrid → poly_buf → seq                   │    100 │   5.013 μs │   4.913 μs │  +2.0 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │   1000 │  35.165 μs │  35.215 μs │  -0.1 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │  10000 │ 336.960 μs │ 343.061 μs │  -1.8 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │ 100000 │   3.886 ms │   3.830 ms │  +1.5 % ➖ │       5 │        5 │  +0.0 % ➖ │
│ powergrid → poly_buf → ka                    │    100 │   6.507 μs │   6.147 μs │  +5.9 % ❌ │      15 │       15 │  +0.0 % ➖ │
│                                              │   1000 │  56.425 μs │  52.889 μs │  +6.7 % ❌ │      57 │       57 │  +0.0 % ➖ │
│                                              │  10000 │ 480.627 μs │ 450.942 μs │  +6.6 % ❌ │      57 │       57 │  +0.0 % ➖ │
│                                              │ 100000 │   5.462 ms │   5.018 ms │  +8.9 % ❌ │      57 │       57 │  +0.0 % ➖ │
│ powergrid → poly_buf → poly                  │    100 │   5.696 μs │   5.608 μs │  +1.6 % ➖ │       8 │        8 │  +0.0 % ➖ │
│                                              │   1000 │  37.901 μs │  40.917 μs │  -7.4 % ✅ │       8 │        8 │  +0.0 % ➖ │
│                                              │  10000 │ 353.971 μs │ 350.093 μs │  +1.1 % ➖ │       8 │        8 │  +0.0 % ➖ │
│                                              │ 100000 │   4.444 ms │   4.461 ms │  -0.4 % ➖ │       8 │        8 │  +0.0 % ➖ │
│ powergrid → poly_buf → thrd                  │    100 │  10.830 μs │  11.036 μs │  -1.9 % ➖ │      27 │       27 │  +0.0 % ➖ │
│                                              │   1000 │  49.282 μs │  45.625 μs │  +8.0 % ❌ │      27 │       27 │  +0.0 % ➖ │
│                                              │  10000 │ 438.258 μs │ 457.936 μs │  -4.3 % ➖ │      27 │       27 │  +0.0 % ➖ │
│                                              │ 100000 │   6.512 ms │   5.723 ms │ +13.8 % ❌ │      27 │       27 │  +0.0 % ➖ │
│ powergrid → poly_buf → sprs                  │    100 │   5.728 μs │   5.941 μs │  -3.6 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │   1000 │  45.746 μs │  43.591 μs │  +4.9 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                              │  10000 │ 427.338 μs │ 451.844 μs │  -5.4 % ✅ │       5 │        5 │  +0.0 % ➖ │
│                                              │ 100000 │   5.171 ms │   4.889 ms │  +5.8 % ❌ │       5 │        5 │  +0.0 % ➖ │
│ powergrid → thrd_buf → seq                   │    100 │  25.528 μs │  26.189 μs │  -2.5 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                              │   1000 │  63.719 μs │  64.230 μs │  -0.8 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                              │  10000 │ 407.241 μs │ 401.309 μs │  +1.5 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                              │ 100000 │   3.621 ms │   3.498 ms │  +3.5 % ➖ │     110 │      110 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → assemble        │    100 │ 475.538 μs │ 528.527 μs │ -10.0 % ✅ │    3111 │     3113 │  -0.1 % ➖ │
│                                              │   1000 │   4.362 ms │   4.908 ms │ -11.1 % ✅ │   30097 │    30097 │  +0.0 % ➖ │
│                                              │  10000 │  59.955 ms │  57.104 ms │  +5.0 % ➖ │  300235 │   300235 │  +0.0 % ➖ │
│                                              │ 100000 │    1.560 s │    1.137 s │ +37.2 % ❌ │ 3000323 │  3000323 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → seq → seq       │    100 │   9.240 μs │   9.227 μs │  +0.1 % ➖ │     102 │      102 │  +0.0 % ➖ │
│                                              │   1000 │  93.315 μs │  93.564 μs │  -0.3 % ➖ │    1002 │     1002 │  +0.0 % ➖ │
│                                              │  10000 │ 956.476 μs │ 960.283 μs │  -0.4 % ➖ │   10002 │    10002 │  +0.0 % ➖ │
│                                              │ 100000 │  10.217 ms │  10.233 ms │  -0.2 % ➖ │  100002 │   100002 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → ka → seq        │    100 │  73.056 μs │  75.591 μs │  -3.4 % ➖ │    1750 │     1750 │  +0.0 % ➖ │
│                                              │   1000 │ 719.133 μs │ 738.368 μs │  -2.6 % ➖ │   17051 │    17051 │  +0.0 % ➖ │
│                                              │  10000 │   7.329 ms │   7.428 ms │  -1.3 % ➖ │  170240 │   170240 │  +0.0 % ➖ │
│                                              │ 100000 │  78.996 ms │  79.788 ms │  -1.0 % ➖ │ 1700900 │  1700900 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → poly → seq      │    100 │   8.906 μs │   8.861 μs │  +0.5 % ➖ │     105 │      105 │  +0.0 % ➖ │
│                                              │   1000 │  81.342 μs │  81.622 μs │  -0.3 % ➖ │    1005 │     1005 │  +0.0 % ➖ │
│                                              │  10000 │ 810.143 μs │ 817.526 μs │  -0.9 % ➖ │   10005 │    10005 │  +0.0 % ➖ │
│                                              │ 100000 │   8.988 ms │   8.374 ms │  +7.3 % ❌ │  100005 │   100005 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → thrd → seq      │    100 │ 385.951 μs │ 389.828 μs │  -1.0 % ➖ │    2368 │     2368 │  +0.0 % ➖ │
│                                              │   1000 │   3.934 ms │   3.911 ms │  +0.6 % ➖ │   23068 │    23068 │  +0.0 % ➖ │
│                                              │  10000 │  40.051 ms │  39.758 ms │  +0.7 % ➖ │  230068 │   230068 │  +0.0 % ➖ │
│                                              │ 100000 │ 546.427 ms │ 546.419 ms │  +0.0 % ➖ │ 2300068 │  2300068 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → seq_buf → seq   │    100 │   9.291 μs │   9.357 μs │  -0.7 % ➖ │     102 │      102 │  +0.0 % ➖ │
│                                              │   1000 │  95.659 μs │  95.468 μs │  +0.2 % ➖ │    1002 │     1002 │  +0.0 % ➖ │
│                                              │  10000 │ 971.223 μs │ 980.901 μs │  -1.0 % ➖ │   10002 │    10002 │  +0.0 % ➖ │
│                                              │ 100000 │  10.699 ms │  10.379 ms │  +3.1 % ➖ │  100002 │   100002 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → ka_buf → seq    │    100 │  73.648 μs │  75.912 μs │  -3.0 % ➖ │    1750 │     1750 │  +0.0 % ➖ │
│                                              │   1000 │ 720.906 μs │ 737.577 μs │  -2.3 % ➖ │   17051 │    17051 │  +0.0 % ➖ │
│                                              │  10000 │   7.250 ms │   7.587 ms │  -4.4 % ➖ │  170240 │   170240 │  +0.0 % ➖ │
│                                              │ 100000 │  80.003 ms │  76.731 ms │  +4.3 % ➖ │ 1700900 │  1700900 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → poly_buf → seq  │    100 │   9.603 μs │   9.337 μs │  +2.8 % ➖ │     105 │      105 │  +0.0 % ➖ │
│                                              │   1000 │  86.813 μs │  85.449 μs │  +1.6 % ➖ │    1005 │     1005 │  +0.0 % ➖ │
│                                              │  10000 │ 873.782 μs │ 862.380 μs │  +1.3 % ➖ │   10005 │    10005 │  +0.0 % ➖ │
│                                              │ 100000 │   9.396 ms │   9.314 ms │  +0.9 % ➖ │  100005 │   100005 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → poly_buf → ka   │    100 │  10.530 μs │  10.605 μs │  -0.7 % ➖ │     115 │      115 │  +0.0 % ➖ │
│                                              │   1000 │ 103.483 μs │ 105.327 μs │  -1.8 % ➖ │    1057 │     1057 │  +0.0 % ➖ │
│                                              │  10000 │ 975.501 μs │ 973.828 μs │  +0.2 % ➖ │   10057 │    10057 │  +0.0 % ➖ │
│                                              │ 100000 │  10.705 ms │  10.745 ms │  -0.4 % ➖ │  100057 │   100057 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → poly_buf → poly │    100 │  10.134 μs │  10.039 μs │  +1.0 % ➖ │     108 │      108 │  +0.0 % ➖ │
│                                              │   1000 │  89.748 μs │  86.140 μs │  +4.2 % ➖ │    1008 │     1008 │  +0.0 % ➖ │
│                                              │  10000 │ 885.754 μs │ 879.702 μs │  +0.7 % ➖ │   10008 │    10008 │  +0.0 % ➖ │
│                                              │ 100000 │  10.784 ms │  10.428 ms │  +3.4 % ➖ │  100008 │   100008 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → poly_buf → thrd │    100 │  14.998 μs │  15.338 μs │  -2.2 % ➖ │     127 │      127 │  +0.0 % ➖ │
│                                              │   1000 │  94.577 μs │ 105.216 μs │ -10.1 % ✅ │    1027 │     1027 │  +0.0 % ➖ │
│                                              │  10000 │ 924.406 μs │ 949.061 μs │  -2.6 % ➖ │   10027 │    10027 │  +0.0 % ➖ │
│                                              │ 100000 │  12.454 ms │  11.833 ms │  +5.2 % ❌ │  100027 │   100027 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → poly_buf → sprs │    100 │  10.334 μs │  11.527 μs │ -10.3 % ✅ │     105 │      105 │  +0.0 % ➖ │
│                                              │   1000 │  93.024 μs │  91.551 μs │  +1.6 % ➖ │    1005 │     1005 │  +0.0 % ➖ │
│                                              │  10000 │ 951.917 μs │ 959.591 μs │  -0.8 % ➖ │   10005 │    10005 │  +0.0 % ➖ │
│                                              │ 100000 │  10.597 ms │  10.551 ms │  +0.4 % ➖ │  100005 │   100005 │  +0.0 % ➖ │
│ powergrid_inhomogeneous_pq → thrd_buf → seq  │    100 │ 383.987 μs │ 388.335 μs │  -1.1 % ➖ │    2368 │     2368 │  +0.0 % ➖ │
│                                              │   1000 │   3.935 ms │   3.931 ms │  +0.1 % ➖ │   23068 │    23068 │  +0.0 % ➖ │
│                                              │  10000 │  40.120 ms │  40.383 ms │  -0.7 % ➖ │  230068 │   230068 │  +0.0 % ➖ │
│                                              │ 100000 │ 757.083 ms │ 685.995 ms │ +10.4 % ❌ │ 2300068 │  2300068 │  +0.0 % ➖ │
└──────────────────────────────────────────────┴────────┴────────────┴────────────┴────────────┴─────────┴──────────┴────────────┘

https://github.com/JuliaDynamics/NetworkDynamics.jl/actions/runs/14166340309/artifacts/2849585113

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.

1 participant