Skip to content
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

enable external inputs #187

Merged
merged 18 commits into from
Nov 29, 2024
Merged

enable external inputs #187

merged 18 commits into from
Nov 29, 2024

Conversation

hexaeder
Copy link
Member

implements #150

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

@hexaeder hexaeder force-pushed the hw/extinputs branch 3 times, most recently from 44d9a45 to 1497e01 Compare November 28, 2024 18:09

This comment has been minimized.

This comment has been minimized.

Copy link
Contributor

Benchmark Results

┌──────────────────────────────────────────┬────────┬────────────┬────────────┬────────────┬─────────┬──────────┬────────────┐
│ Key                                      │        │ Time       │            │            │ Allocs  │          │            │
│                                          │        │ target     │ baseline   │            │ target  │ baseline │            │
├──────────────────────────────────────────┼────────┼────────────┼────────────┼────────────┼─────────┼──────────┼────────────┤
│ diffusion_static_edge → assemble         │    100 │   1.206 ms │ 941.096 μs │ +28.2 % ❌ │   10685 │    10674 │  +0.1 % ➖ │
│                                          │    300 │   5.916 ms │   5.736 ms │  +3.2 % ➖ │   91496 │    91489 │  +0.0 % ➖ │
│                                          │   1000 │  97.799 ms │  94.104 ms │  +3.9 % ➖ │ 1004302 │  1004303 │  -0.0 % ➖ │
│                                          │   3000 │    1.567 s │    1.331 s │ +17.7 % ❌ │ 9012302 │  9012311 │  -0.0 % ➖ │
│ diffusion_static_edge → seq → seq        │    100 │  10.795 μs │  10.755 μs │  +0.4 % ➖ │         │          │  +0.0 % ➖ │
│                                          │    300 │ 110.456 μs │ 110.405 μs │  +0.0 % ➖ │         │          │  +0.0 % ➖ │
│                                          │   1000 │   1.308 ms │   1.291 ms │  +1.3 % ➖ │         │          │  +0.0 % ➖ │
│                                          │   3000 │  12.893 ms │  12.803 ms │  +0.7 % ➖ │         │          │  +0.0 % ➖ │
│ diffusion_static_edge → ka → seq         │    100 │  18.935 μs │  18.805 μs │  +0.7 % ➖ │      87 │       85 │  +2.4 % ➖ │
│                                          │    300 │ 116.828 μs │ 118.692 μs │  -1.6 % ➖ │     172 │      170 │  +1.2 % ➖ │
│                                          │   1000 │   1.216 ms │   1.227 ms │  -0.9 % ➖ │    1066 │     1064 │  +0.2 % ➖ │
│                                          │   3000 │  12.215 ms │  12.260 ms │  -0.4 % ➖ │    8957 │     8953 │  +0.0 % ➖ │
│ diffusion_static_edge → poly → seq       │    100 │  12.253 μs │  12.118 μs │  +1.1 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                          │    300 │ 106.859 μs │ 104.715 μs │  +2.0 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                          │   1000 │   1.183 ms │   1.180 ms │  +0.2 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                          │   3000 │  12.391 ms │  12.378 ms │  +0.1 % ➖ │       3 │        3 │  +0.0 % ➖ │
│ diffusion_static_edge → thrd → seq       │    100 │  19.035 μs │  18.885 μs │  +0.8 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                          │    300 │ 114.123 μs │ 116.408 μs │  -2.0 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                          │   1000 │   1.179 ms │   1.180 ms │  -0.1 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                          │   3000 │  12.050 ms │  12.040 ms │  +0.1 % ➖ │      66 │       66 │  +0.0 % ➖ │
│ diffusion_static_edge → seq_buf → seq    │    100 │  11.582 μs │  11.316 μs │  +2.3 % ➖ │         │          │  +0.0 % ➖ │
│                                          │    300 │ 118.301 μs │ 115.025 μs │  +2.8 % ➖ │         │          │  +0.0 % ➖ │
│                                          │   1000 │   1.379 ms │   1.342 ms │  +2.7 % ➖ │         │          │  +0.0 % ➖ │
│                                          │   3000 │  14.452 ms │  14.048 ms │  +2.9 % ➖ │         │          │  +0.0 % ➖ │
│ diffusion_static_edge → ka_buf → seq     │    100 │  20.769 μs │  23.534 μs │ -11.7 % ✅ │      87 │       81 │  +7.4 % ❌ │
│                                          │    300 │ 146.954 μs │ 149.639 μs │  -1.8 % ➖ │     172 │      147 │ +17.0 % ❌ │
│                                          │   1000 │   1.401 ms │   1.427 ms │  -1.8 % ➖ │    1066 │      818 │ +30.3 % ❌ │
│                                          │   3000 │  13.816 ms │  14.183 ms │  -2.6 % ➖ │    8957 │     6754 │ +32.6 % ❌ │
│ diffusion_static_edge → poly_buf → seq   │    100 │  15.038 μs │  17.973 μs │ -16.3 % ✅ │       3 │        3 │  +0.0 % ➖ │
│                                          │    300 │ 130.483 μs │ 158.625 μs │ -17.7 % ✅ │       3 │        3 │  +0.0 % ➖ │
│                                          │   1000 │   1.426 ms │   1.768 ms │ -19.3 % ✅ │       3 │        3 │  +0.0 % ➖ │
│                                          │   3000 │  14.400 ms │  17.389 ms │ -17.2 % ✅ │       3 │        3 │  +0.0 % ➖ │
│ diffusion_static_edge → poly_buf → ka    │    100 │  36.488 μs │  36.167 μs │  +0.9 % ➖ │      55 │       55 │  +0.0 % ➖ │
│                                          │    300 │ 261.467 μs │ 259.915 μs │  +0.6 % ➖ │      55 │       55 │  +0.0 % ➖ │
│                                          │   1000 │   2.820 ms │   2.787 ms │  +1.2 % ➖ │      55 │       55 │  +0.0 % ➖ │
│                                          │   3000 │  26.452 ms │  26.219 ms │  +0.9 % ➖ │      56 │       56 │  +0.0 % ➖ │
│ diffusion_static_edge → poly_buf → poly  │    100 │  10.270 μs │  13.074 μs │ -21.5 % ✅ │       6 │        6 │  +0.0 % ➖ │
│                                          │    300 │  69.279 μs │ 101.680 μs │ -31.9 % ✅ │       6 │        6 │  +0.0 % ➖ │
│                                          │   1000 │ 682.402 μs │   1.052 ms │ -35.2 % ✅ │       6 │        6 │  +0.0 % ➖ │
│                                          │   3000 │   7.645 ms │  10.684 ms │ -28.4 % ✅ │       6 │        6 │  +0.0 % ➖ │
│ diffusion_static_edge → poly_buf → thrd  │    100 │  19.938 μs │  19.807 μs │  +0.7 % ➖ │      25 │       25 │  +0.0 % ➖ │
│                                          │    300 │ 129.301 μs │ 128.380 μs │  +0.7 % ➖ │      25 │       25 │  +0.0 % ➖ │
│                                          │   1000 │   1.347 ms │   1.333 ms │  +1.1 % ➖ │      25 │       25 │  +0.0 % ➖ │
│                                          │   3000 │  13.659 ms │  13.583 ms │  +0.6 % ➖ │      25 │       25 │  +0.0 % ➖ │
│ diffusion_static_edge → poly_buf → sprs  │    100 │  22.753 μs │  19.847 μs │ +14.6 % ❌ │       3 │        3 │  +0.0 % ➖ │
│                                          │    300 │ 197.248 μs │ 167.683 μs │ +17.6 % ❌ │       3 │        3 │  +0.0 % ➖ │
│                                          │   1000 │   2.196 ms │   1.889 ms │ +16.2 % ❌ │       3 │        3 │  +0.0 % ➖ │
│                                          │   3000 │  21.174 ms │  18.031 ms │ +17.4 % ❌ │       3 │        3 │  +0.0 % ➖ │
│ diffusion_static_edge → thrd_buf → seq   │    100 │  21.961 μs │  21.770 μs │  +0.9 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                          │    300 │ 142.415 μs │ 143.858 μs │  -1.0 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                          │   1000 │   1.384 ms │   1.395 ms │  -0.7 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                          │   3000 │  13.610 ms │  13.466 ms │  +1.1 % ➖ │      66 │       66 │  +0.0 % ➖ │
│ diffusion_ode_edge → assemble            │    100 │ 754.998 μs │   1.160 ms │ -34.9 % ✅ │   10696 │    10692 │  +0.0 % ➖ │
│                                          │    300 │   6.200 ms │   5.980 ms │  +3.7 % ➖ │   91506 │    91509 │  -0.0 % ➖ │
│                                          │   1000 │ 123.693 ms │ 103.340 ms │ +19.7 % ❌ │ 1004309 │  1004324 │  -0.0 % ➖ │
│                                          │   3000 │    1.665 s │    1.740 s │  -4.3 % ➖ │ 9012309 │  9012336 │  -0.0 % ➖ │
│ diffusion_ode_edge → seq → seq           │    100 │  43.221 μs │  43.050 μs │  +0.4 % ➖ │         │          │  +0.0 % ➖ │
│                                          │    300 │ 415.474 μs │ 405.606 μs │  +2.4 % ➖ │         │          │  +0.0 % ➖ │
│                                          │   1000 │   4.738 ms │   4.605 ms │  +2.9 % ➖ │         │          │  +0.0 % ➖ │
│                                          │   3000 │  43.262 ms │  42.899 ms │  +0.8 % ➖ │         │          │  +0.0 % ➖ │
│ diffusion_ode_edge → ka → seq            │    100 │  52.407 μs │  56.034 μs │  -6.5 % ✅ │     140 │      138 │  +1.4 % ➖ │
│                                          │    300 │ 308.124 μs │ 305.329 μs │  +0.9 % ➖ │     291 │      289 │  +0.7 % ➖ │
│                                          │   1000 │   2.911 ms │   2.935 ms │  -0.8 % ➖ │    1854 │     1852 │  +0.1 % ➖ │
│                                          │   3000 │  27.947 ms │  28.138 ms │  -0.7 % ➖ │   15605 │    15601 │  +0.0 % ➖ │
│ diffusion_ode_edge → poly → seq          │    100 │  27.972 μs │  28.372 μs │  -1.4 % ➖ │       4 │        4 │  +0.0 % ➖ │
│                                          │    300 │ 249.565 μs │ 253.673 μs │  -1.6 % ➖ │       4 │        4 │  +0.0 % ➖ │
│                                          │   1000 │   2.786 ms │   2.833 ms │  -1.7 % ➖ │       4 │        4 │  +0.0 % ➖ │
│                                          │   3000 │  26.640 ms │  27.100 ms │  -1.7 % ➖ │       4 │        4 │  +0.0 % ➖ │
│ diffusion_ode_edge → thrd → seq          │    100 │  37.951 μs │  38.512 μs │  -1.5 % ➖ │      88 │       88 │  +0.0 % ➖ │
│                                          │    300 │ 270.514 μs │ 265.976 μs │  +1.7 % ➖ │      88 │       88 │  +0.0 % ➖ │
│                                          │   1000 │   2.808 ms │   2.837 ms │  -1.0 % ➖ │      88 │       88 │  +0.0 % ➖ │
│                                          │   3000 │  26.920 ms │  27.205 ms │  -1.0 % ➖ │      88 │       88 │  +0.0 % ➖ │
│ diffusion_ode_edge → seq_buf → seq       │    100 │  42.259 μs │  42.028 μs │  +0.5 % ➖ │         │          │  +0.0 % ➖ │
│                                          │    300 │ 399.424 μs │ 397.220 μs │  +0.6 % ➖ │         │          │  +0.0 % ➖ │
│                                          │   1000 │   4.541 ms │   4.506 ms │  +0.8 % ➖ │         │          │  +0.0 % ➖ │
│                                          │   3000 │  42.398 ms │  42.123 ms │  +0.7 % ➖ │         │          │  +0.0 % ➖ │
│ diffusion_ode_edge → ka_buf → seq        │    100 │  55.333 μs │  53.560 μs │  +3.3 % ➖ │     140 │      134 │  +4.5 % ➖ │
│                                          │    300 │ 351.005 μs │ 327.721 μs │  +7.1 % ❌ │     291 │      266 │  +9.4 % ❌ │
│                                          │   1000 │   3.087 ms │   3.055 ms │  +1.0 % ➖ │    1854 │     1606 │ +15.4 % ❌ │
│                                          │   3000 │  28.949 ms │  29.423 ms │  -1.6 % ➖ │   15605 │    13402 │ +16.4 % ❌ │
│ diffusion_ode_edge → poly_buf → seq      │    100 │  31.740 μs │  29.334 μs │  +8.2 % ❌ │       4 │        4 │  +0.0 % ➖ │
│                                          │    300 │ 284.932 μs │ 258.241 μs │ +10.3 % ❌ │       4 │        4 │  +0.0 % ➖ │
│                                          │   1000 │   3.173 ms │   2.897 ms │  +9.5 % ❌ │       4 │        4 │  +0.0 % ➖ │
│                                          │   3000 │  30.250 ms │  27.675 ms │  +9.3 % ❌ │       4 │        4 │  +0.0 % ➖ │
│ diffusion_ode_edge → poly_buf → ka       │    100 │  50.674 μs │  48.060 μs │  +5.4 % ❌ │      56 │       56 │  +0.0 % ➖ │
│                                          │    300 │ 385.869 μs │ 361.454 μs │  +6.8 % ❌ │      56 │       56 │  +0.0 % ➖ │
│                                          │   1000 │   4.164 ms │   3.883 ms │  +7.2 % ❌ │      56 │       56 │  +0.0 % ➖ │
│                                          │   3000 │  39.082 ms │  36.606 ms │  +6.8 % ❌ │      57 │       57 │  +0.0 % ➖ │
│ diffusion_ode_edge → poly_buf → poly     │    100 │  27.412 μs │  24.516 μs │ +11.8 % ❌ │       7 │        7 │  +0.0 % ➖ │
│                                          │    300 │ 232.554 μs │ 205.554 μs │ +13.1 % ❌ │       7 │        7 │  +0.0 % ➖ │
│                                          │   1000 │   2.484 ms │   2.186 ms │ +13.6 % ❌ │       7 │        7 │  +0.0 % ➖ │
│                                          │   3000 │  24.214 ms │  21.489 ms │ +12.7 % ❌ │       7 │        7 │  +0.0 % ➖ │
│ diffusion_ode_edge → poly_buf → thrd     │    100 │  30.948 μs │  34.183 μs │  -9.5 % ✅ │      26 │       26 │  +0.0 % ➖ │
│                                          │    300 │ 224.469 μs │ 258.642 μs │ -13.2 % ✅ │      26 │       26 │  +0.0 % ➖ │
│                                          │   1000 │   2.383 ms │   2.803 ms │ -15.0 % ✅ │      26 │       26 │  +0.0 % ➖ │
│                                          │   3000 │  23.794 ms │  27.517 ms │ -13.5 % ✅ │      26 │       26 │  +0.0 % ➖ │
│ diffusion_ode_edge → poly_buf → sprs     │    100 │  36.659 μs │  37.089 μs │  -1.2 % ➖ │       4 │        4 │  +0.0 % ➖ │
│                                          │    300 │ 321.209 μs │ 326.118 μs │  -1.5 % ➖ │       4 │        4 │  +0.0 % ➖ │
│                                          │   1000 │   3.581 ms │   3.641 ms │  -1.6 % ➖ │       4 │        4 │  +0.0 % ➖ │
│                                          │   3000 │  33.691 ms │  34.193 ms │  -1.5 % ➖ │       4 │        4 │  +0.0 % ➖ │
│ diffusion_ode_edge → thrd_buf → seq      │    100 │  44.102 μs │  41.387 μs │  +6.6 % ❌ │      88 │       88 │  +0.0 % ➖ │
│                                          │    300 │ 315.889 μs │ 287.766 μs │  +9.8 % ❌ │      88 │       88 │  +0.0 % ➖ │
│                                          │   1000 │   3.011 ms │   2.996 ms │  +0.5 % ➖ │      88 │       88 │  +0.0 % ➖ │
│                                          │   3000 │  28.206 ms │  28.583 ms │  -1.3 % ➖ │      88 │       88 │  +0.0 % ➖ │
│ kuramoto_homogeneous → assemble          │    100 │ 138.158 μs │ 139.851 μs │  -1.2 % ➖ │    1073 │     1063 │  +0.9 % ➖ │
│                                          │   1000 │ 935.504 μs │ 864.872 μs │  +8.2 % ❌ │    8306 │     8304 │  +0.0 % ➖ │
│                                          │  10000 │   7.814 ms │   7.643 ms │  +2.2 % ➖ │   80306 │    80318 │  -0.0 % ➖ │
│                                          │ 100000 │  63.267 ms │  59.598 ms │  +6.2 % ❌ │  800306 │   800336 │  -0.0 % ➖ │
│ kuramoto_homogeneous → seq → seq         │    100 │   1.107 μs │   1.114 μs │  -0.6 % ➖ │         │          │  +0.0 % ➖ │
│                                          │   1000 │  11.396 μs │  11.301 μs │  +0.8 % ➖ │         │          │  +0.0 % ➖ │
│                                          │  10000 │ 121.176 μs │ 121.677 μs │  -0.4 % ➖ │         │          │  +0.0 % ➖ │
│                                          │ 100000 │   1.614 ms │   1.614 ms │  -0.0 % ➖ │         │          │  +0.0 % ➖ │
│ kuramoto_homogeneous → ka → seq          │    100 │   3.117 μs │   3.116 μs │  +0.0 % ➖ │      46 │       44 │  +4.5 % ➖ │
│                                          │   1000 │  13.365 μs │  13.596 μs │  -1.7 % ➖ │      49 │       47 │  +4.3 % ➖ │
│                                          │  10000 │ 147.364 μs │ 148.626 μs │  -0.8 % ➖ │     271 │      260 │  +4.2 % ➖ │
│                                          │ 100000 │   1.061 ms │   1.089 ms │  -2.6 % ➖ │    1239 │     1140 │  +8.7 % ❌ │
│ kuramoto_homogeneous → poly → seq        │    100 │   1.871 μs │   1.837 μs │  +1.8 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                          │   1000 │  10.655 μs │  10.695 μs │  -0.4 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                          │  10000 │  96.520 μs │  96.639 μs │  -0.1 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                          │ 100000 │   1.081 ms │   1.089 ms │  -0.8 % ➖ │       3 │        3 │  +0.0 % ➖ │
│ kuramoto_homogeneous → thrd → seq        │    100 │  11.111 μs │  11.311 μs │  -1.8 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                          │   1000 │  20.387 μs │  20.779 μs │  -1.9 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                          │  10000 │ 109.284 μs │ 112.239 μs │  -2.6 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                          │ 100000 │ 961.492 μs │ 979.856 μs │  -1.9 % ➖ │      66 │       66 │  +0.0 % ➖ │
│ kuramoto_homogeneous → seq_buf → seq     │    100 │   1.047 μs │   1.047 μs │  -0.0 % ➖ │         │          │  +0.0 % ➖ │
│                                          │   1000 │  10.530 μs │  10.665 μs │  -1.3 % ➖ │         │          │  +0.0 % ➖ │
│                                          │  10000 │ 109.194 μs │ 109.785 μs │  -0.5 % ➖ │         │          │  +0.0 % ➖ │
│                                          │ 100000 │   1.210 ms │   1.233 ms │  -1.9 % ➖ │         │          │  +0.0 % ➖ │
│ kuramoto_homogeneous → ka_buf → seq      │    100 │   3.116 μs │   3.057 μs │  +1.9 % ➖ │      46 │       42 │  +9.5 % ❌ │
│                                          │   1000 │  12.955 μs │  12.769 μs │  +1.5 % ➖ │      49 │       45 │  +8.9 % ❌ │
│                                          │  10000 │ 152.925 μs │ 138.829 μs │ +10.2 % ❌ │     271 │      249 │  +8.8 % ❌ │
│                                          │ 100000 │   1.081 ms │   1.060 ms │  +2.0 % ➖ │    1239 │     1041 │ +19.0 % ❌ │
│ kuramoto_homogeneous → poly_buf → seq    │    100 │   1.981 μs │   2.085 μs │  -5.0 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                          │   1000 │  10.670 μs │  12.093 μs │ -11.8 % ✅ │       3 │        3 │  +0.0 % ➖ │
│                                          │  10000 │  98.554 μs │ 112.229 μs │ -12.2 % ✅ │       3 │        3 │  +0.0 % ➖ │
│                                          │ 100000 │   1.132 ms │   1.224 ms │  -7.5 % ✅ │       3 │        3 │  +0.0 % ➖ │
│ kuramoto_homogeneous → poly_buf → ka     │    100 │   2.950 μs │   2.801 μs │  +5.3 % ❌ │      13 │       13 │  +0.0 % ➖ │
│                                          │   1000 │  21.590 μs │  20.789 μs │  +3.9 % ➖ │      37 │       37 │  +0.0 % ➖ │
│                                          │  10000 │ 169.567 μs │ 159.938 μs │  +6.0 % ❌ │      55 │       55 │  +0.0 % ➖ │
│                                          │ 100000 │   1.832 ms │   1.758 ms │  +4.2 % ➖ │      55 │       55 │  +0.0 % ➖ │
│ kuramoto_homogeneous → poly_buf → poly   │    100 │   2.626 μs │   2.676 μs │  -1.9 % ➖ │       6 │        6 │  +0.0 % ➖ │
│                                          │   1000 │  12.348 μs │  13.235 μs │  -6.7 % ✅ │       6 │        6 │  +0.0 % ➖ │
│                                          │  10000 │ 108.993 μs │ 122.829 μs │ -11.3 % ✅ │       6 │        6 │  +0.0 % ➖ │
│                                          │ 100000 │   1.222 ms │   1.293 ms │  -5.5 % ✅ │       6 │        6 │  +0.0 % ➖ │
│ kuramoto_homogeneous → poly_buf → thrd   │    100 │   7.905 μs │   7.825 μs │  +1.0 % ➖ │      25 │       25 │  +0.0 % ➖ │
│                                          │   1000 │  18.093 μs │  18.755 μs │  -3.5 % ➖ │      25 │       25 │  +0.0 % ➖ │
│                                          │  10000 │ 132.417 μs │ 136.154 μs │  -2.7 % ➖ │      25 │       25 │  +0.0 % ➖ │
│                                          │ 100000 │   1.953 ms │   1.951 ms │  +0.1 % ➖ │      25 │       25 │  +0.0 % ➖ │
│ kuramoto_homogeneous → poly_buf → sprs   │    100 │   2.427 μs │   2.500 μs │  -2.9 % ➖ │       3 │        3 │  +0.0 % ➖ │
│                                          │   1000 │  14.347 μs │  15.780 μs │  -9.1 % ✅ │       3 │        3 │  +0.0 % ➖ │
│                                          │  10000 │ 139.440 μs │ 152.154 μs │  -8.4 % ✅ │       3 │        3 │  +0.0 % ➖ │
│                                          │ 100000 │   1.669 ms │   1.774 ms │  -5.9 % ✅ │       3 │        3 │  +0.0 % ➖ │
│ kuramoto_homogeneous → thrd_buf → seq    │    100 │  11.201 μs │  11.562 μs │  -3.1 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                          │   1000 │  21.801 μs │  22.381 μs │  -2.6 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                          │  10000 │ 122.408 μs │ 123.781 μs │  -1.1 % ➖ │      66 │       66 │  +0.0 % ➖ │
│                                          │ 100000 │   1.007 ms │   1.019 ms │  -1.2 % ➖ │      66 │       66 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → assemble        │    100 │ 170.608 μs │ 259.334 μs │ -34.2 % ✅ │     827 │      812 │  +1.8 % ➖ │
│                                          │   1000 │ 888.747 μs │ 898.564 μs │  -1.1 % ➖ │    5369 │     5362 │  +0.1 % ➖ │
│                                          │  10000 │   9.621 ms │   9.402 ms │  +2.3 % ➖ │   50398 │    50407 │  -0.0 % ➖ │
│                                          │ 100000 │  93.144 ms │  88.534 ms │  +5.2 % ❌ │  500415 │   500442 │  -0.0 % ➖ │
│ kuramoto_heterogeneous → seq → seq       │    100 │   1.111 μs │   1.135 μs │  -2.2 % ➖ │         │          │  +0.0 % ➖ │
│                                          │   1000 │  11.015 μs │  11.001 μs │  +0.1 % ➖ │         │          │  +0.0 % ➖ │
│                                          │  10000 │ 120.044 μs │ 119.322 μs │  +0.6 % ➖ │         │          │  +0.0 % ➖ │
│                                          │ 100000 │   1.585 ms │   1.549 ms │  +2.3 % ➖ │         │          │  +0.0 % ➖ │
│ kuramoto_heterogeneous → ka → seq        │    100 │   4.873 μs │   4.525 μs │  +7.7 % ❌ │      76 │       72 │  +5.6 % ❌ │
│                                          │   1000 │  14.788 μs │  14.547 μs │  +1.7 % ➖ │      77 │       73 │  +5.5 % ❌ │
│                                          │  10000 │ 168.013 μs │ 174.776 μs │  -3.9 % ➖ │     378 │      366 │  +3.3 % ➖ │
│                                          │ 100000 │   1.071 ms │   1.108 ms │  -3.3 % ➖ │    1346 │     1246 │  +8.0 % ❌ │
│ kuramoto_heterogeneous → poly → seq      │    100 │   2.404 μs │   2.377 μs │  +1.1 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                          │   1000 │  11.201 μs │  11.376 μs │  -1.5 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                          │  10000 │  96.179 μs │  97.922 μs │  -1.8 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                          │ 100000 │   1.059 ms │   1.073 ms │  -1.3 % ➖ │       5 │        5 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → thrd → seq      │    100 │  25.207 μs │  24.536 μs │  +2.7 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                          │   1000 │  35.095 μs │  35.246 μs │  -0.4 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                          │  10000 │ 126.265 μs │ 126.937 μs │  -0.5 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                          │ 100000 │ 978.374 μs │ 982.090 μs │  -0.4 % ➖ │     110 │      110 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → seq_buf → seq   │    100 │   1.039 μs │   1.045 μs │  -0.6 % ➖ │         │          │  +0.0 % ➖ │
│                                          │   1000 │  10.339 μs │  10.395 μs │  -0.5 % ➖ │         │          │  +0.0 % ➖ │
│                                          │  10000 │ 108.562 μs │ 105.697 μs │  +2.7 % ➖ │         │          │  +0.0 % ➖ │
│                                          │ 100000 │   1.184 ms │   1.218 ms │  -2.8 % ➖ │         │          │  +0.0 % ➖ │
│ kuramoto_heterogeneous → ka_buf → seq    │    100 │   4.627 μs │   4.434 μs │  +4.3 % ➖ │      76 │       70 │  +8.6 % ❌ │
│                                          │   1000 │  14.366 μs │  14.122 μs │  +1.7 % ➖ │      77 │       71 │  +8.5 % ❌ │
│                                          │  10000 │ 176.249 μs │ 178.713 μs │  -1.4 % ➖ │     378 │      355 │  +6.5 % ❌ │
│                                          │ 100000 │   1.097 ms │   1.084 ms │  +1.3 % ➖ │    1346 │     1147 │ +17.3 % ❌ │
│ kuramoto_heterogeneous → poly_buf → seq  │    100 │   2.734 μs │   2.553 μs │  +7.1 % ❌ │       5 │        5 │  +0.0 % ➖ │
│                                          │   1000 │  12.779 μs │  13.065 μs │  -2.2 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                          │  10000 │  98.734 μs │ 102.080 μs │  -3.3 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                          │ 100000 │   1.196 ms │   1.249 ms │  -4.2 % ➖ │       5 │        5 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → poly_buf → ka   │    100 │   3.313 μs │   3.396 μs │  -2.5 % ➖ │      15 │       15 │  +0.0 % ➖ │
│                                          │   1000 │  22.522 μs │  22.603 μs │  -0.4 % ➖ │      39 │       39 │  +0.0 % ➖ │
│                                          │  10000 │ 158.064 μs │ 172.631 μs │  -8.4 % ✅ │      57 │       57 │  +0.0 % ➖ │
│                                          │ 100000 │   1.839 ms │   1.867 ms │  -1.5 % ➖ │      57 │       57 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → poly_buf → poly │    100 │   3.263 μs │   3.206 μs │  +1.8 % ➖ │       8 │        8 │  +0.0 % ➖ │
│                                          │   1000 │  14.006 μs │  14.197 μs │  -1.3 % ➖ │       8 │        8 │  +0.0 % ➖ │
│                                          │  10000 │ 109.725 μs │ 123.971 μs │ -11.5 % ✅ │       8 │        8 │  +0.0 % ➖ │
│                                          │ 100000 │   1.253 ms │   1.321 ms │  -5.2 % ✅ │       8 │        8 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → poly_buf → thrd │    100 │   8.491 μs │   8.396 μs │  +1.1 % ➖ │      27 │       27 │  +0.0 % ➖ │
│                                          │   1000 │  19.096 μs │  19.086 μs │  +0.1 % ➖ │      27 │       27 │  +0.0 % ➖ │
│                                          │  10000 │ 135.323 μs │ 148.887 μs │  -9.1 % ✅ │      27 │       27 │  +0.0 % ➖ │
│                                          │ 100000 │   1.900 ms │   2.073 ms │  -8.3 % ✅ │      27 │       27 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → poly_buf → sprs │    100 │   3.066 μs │   2.991 μs │  +2.5 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                          │   1000 │  16.280 μs │  16.571 μs │  -1.8 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                          │  10000 │ 150.580 μs │ 153.547 μs │  -1.9 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                          │ 100000 │   1.717 ms │   1.796 ms │  -4.4 % ➖ │       5 │        5 │  +0.0 % ➖ │
│ kuramoto_heterogeneous → thrd_buf → seq  │    100 │  24.837 μs │  24.656 μs │  +0.7 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                          │   1000 │  34.645 μs │  34.845 μs │  -0.6 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                          │  10000 │ 137.146 μs │ 127.046 μs │  +7.9 % ❌ │     110 │      110 │  +0.0 % ➖ │
│                                          │ 100000 │ 979.697 μs │ 991.097 μs │  -1.2 % ➖ │     110 │      110 │  +0.0 % ➖ │
│ powergrid → assemble                     │    100 │ 256.508 μs │ 236.581 μs │  +8.4 % ❌ │    1606 │     1593 │  +0.8 % ➖ │
│                                          │   1000 │   1.429 ms │   1.433 ms │  -0.3 % ➖ │   13887 │    13886 │  +0.0 % ➖ │
│                                          │  10000 │  15.950 ms │  15.875 ms │  +0.5 % ➖ │  144652 │   144667 │  -0.0 % ➖ │
│                                          │ 100000 │ 182.517 ms │ 172.194 ms │  +6.0 % ❌ │ 1449933 │  1449968 │  -0.0 % ➖ │
│ powergrid → seq → seq                    │    100 │   7.366 μs │   7.401 μs │  -0.5 % ➖ │         │          │  +0.0 % ➖ │
│                                          │   1000 │  73.177 μs │  73.617 μs │  -0.6 % ➖ │         │          │  +0.0 % ➖ │
│                                          │  10000 │ 749.207 μs │ 752.663 μs │  -0.5 % ➖ │         │          │  +0.0 % ➖ │
│                                          │ 100000 │   7.993 ms │   7.988 ms │  +0.1 % ➖ │         │          │  +0.0 % ➖ │
│ powergrid → ka → seq                     │    100 │  11.005 μs │  11.016 μs │  -0.1 % ➖ │      76 │       72 │  +5.6 % ❌ │
│                                          │   1000 │  78.306 μs │  77.916 μs │  +0.5 % ➖ │      77 │       73 │  +5.5 % ❌ │
│                                          │  10000 │ 515.672 μs │ 500.243 μs │  +3.1 % ➖ │     378 │      366 │  +3.3 % ➖ │
│                                          │ 100000 │   3.602 ms │   3.572 ms │  +0.9 % ➖ │    1346 │     1246 │  +8.0 % ❌ │
│ powergrid → poly → seq                   │    100 │   4.699 μs │   4.713 μs │  -0.3 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                          │   1000 │  33.733 μs │  33.182 μs │  +1.7 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                          │  10000 │ 316.530 μs │ 316.951 μs │  -0.1 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                          │ 100000 │   3.446 ms │   3.439 ms │  +0.2 % ➖ │       5 │        5 │  +0.0 % ➖ │
│ powergrid → thrd → seq                   │    100 │  28.192 μs │  28.333 μs │  -0.5 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                          │   1000 │  60.753 μs │  61.504 μs │  -1.2 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                          │  10000 │ 371.243 μs │ 361.143 μs │  +2.8 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                          │ 100000 │   3.319 ms │   3.296 ms │  +0.7 % ➖ │     110 │      110 │  +0.0 % ➖ │
│ powergrid → seq_buf → seq                │    100 │   7.631 μs │   7.661 μs │  -0.4 % ➖ │         │          │  +0.0 % ➖ │
│                                          │   1000 │  75.991 μs │  75.871 μs │  +0.2 % ➖ │         │          │  +0.0 % ➖ │
│                                          │  10000 │ 781.687 μs │ 775.536 μs │  +0.8 % ➖ │         │          │  +0.0 % ➖ │
│                                          │ 100000 │   8.332 ms │   8.243 ms │  +1.1 % ➖ │         │          │  +0.0 % ➖ │
│ powergrid → ka_buf → seq                 │    100 │  11.186 μs │  11.036 μs │  +1.4 % ➖ │      76 │       70 │  +8.6 % ❌ │
│                                          │   1000 │  80.601 μs │  79.738 μs │  +1.1 % ➖ │      77 │       71 │  +8.5 % ❌ │
│                                          │  10000 │ 568.981 μs │ 556.297 μs │  +2.3 % ➖ │     378 │      355 │  +6.5 % ❌ │
│                                          │ 100000 │   3.931 ms │   3.802 ms │  +3.4 % ➖ │    1346 │     1147 │ +17.3 % ❌ │
│ powergrid → poly_buf → seq               │    100 │   5.375 μs │   5.320 μs │  +1.0 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                          │   1000 │  37.379 μs │  38.872 μs │  -3.8 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                          │  10000 │ 374.678 μs │ 371.092 μs │  +1.0 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                          │ 100000 │   3.868 ms │   4.057 ms │  -4.7 % ➖ │       5 │        5 │  +0.0 % ➖ │
│ powergrid → poly_buf → ka                │    100 │   6.384 μs │   6.452 μs │  -1.1 % ➖ │      15 │       15 │  +0.0 % ➖ │
│                                          │   1000 │  55.053 μs │  54.732 μs │  +0.6 % ➖ │      57 │       57 │  +0.0 % ➖ │
│                                          │  10000 │ 456.571 μs │ 482.209 μs │  -5.3 % ✅ │      57 │       57 │  +0.0 % ➖ │
│                                          │ 100000 │   4.999 ms │   5.041 ms │  -0.8 % ➖ │      57 │       57 │  +0.0 % ➖ │
│ powergrid → poly_buf → poly              │    100 │   5.929 μs │   5.721 μs │  +3.6 % ➖ │       8 │        8 │  +0.0 % ➖ │
│                                          │   1000 │  38.652 μs │  40.545 μs │  -4.7 % ➖ │       8 │        8 │  +0.0 % ➖ │
│                                          │  10000 │ 381.892 μs │ 383.225 μs │  -0.3 % ➖ │       8 │        8 │  +0.0 % ➖ │
│                                          │ 100000 │   4.308 ms │   4.508 ms │  -4.4 % ➖ │       8 │        8 │  +0.0 % ➖ │
│ powergrid → poly_buf → thrd              │    100 │  11.281 μs │  11.321 μs │  -0.4 % ➖ │      27 │       27 │  +0.0 % ➖ │
│                                          │   1000 │  48.761 μs │  50.033 μs │  -2.5 % ➖ │      27 │       27 │  +0.0 % ➖ │
│                                          │  10000 │ 464.566 μs │ 462.812 μs │  +0.4 % ➖ │      27 │       27 │  +0.0 % ➖ │
│                                          │ 100000 │   6.272 ms │   6.260 ms │  +0.2 % ➖ │      27 │       27 │  +0.0 % ➖ │
│ powergrid → poly_buf → sprs              │    100 │   5.856 μs │   6.202 μs │  -5.6 % ✅ │       5 │        5 │  +0.0 % ➖ │
│                                          │   1000 │  44.954 μs │  46.557 μs │  -3.4 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                          │  10000 │ 433.207 μs │ 452.914 μs │  -4.4 % ➖ │       5 │        5 │  +0.0 % ➖ │
│                                          │ 100000 │   4.961 ms │   5.085 ms │  -2.4 % ➖ │       5 │        5 │  +0.0 % ➖ │
│ powergrid → thrd_buf → seq               │    100 │  27.982 μs │  28.963 μs │  -3.4 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                          │   1000 │  65.543 μs │  65.111 μs │  +0.7 % ➖ │     110 │      110 │  +0.0 % ➖ │
│                                          │  10000 │ 415.605 μs │ 394.495 μs │  +5.4 % ❌ │     110 │      110 │  +0.0 % ➖ │
│                                          │ 100000 │   3.651 ms │   3.600 ms │  +1.4 % ➖ │     110 │      110 │  +0.0 % ➖ │
└──────────────────────────────────────────┴────────┴────────────┴────────────┴────────────┴─────────┴──────────┴────────────┘

https://github.com/JuliaDynamics/NetworkDynamics.jl/actions/runs/12083365009/artifacts/2253431910

@hexaeder hexaeder merged commit cfdf9ed into main Nov 29, 2024
7 checks passed
@hexaeder hexaeder deleted the hw/extinputs branch November 29, 2024 16:52
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