Skip to content

Conversation

mikeprosserni
Copy link
Contributor

@mikeprosserni mikeprosserni commented Sep 23, 2025

  • This contribution adheres to CONTRIBUTING.md.
  • I've updated CHANGELOG.md if applicable.
  • I've added tests applicable for this pull request

What does this Pull Request accomplish?

This PR adds benchmark tests for AnalogSingleChannelReader, AnalogMultiChannelReader, DigitalSingleChannelReader, DigitalMultiChannelReader, AnalogSingleChannelWriter, AnalogMultiChannelWriter, DigitalSingleChannelWriter, and DigitalMultiChannelWriter.

Why should this Pull Request be merged?

AB#3309084

What testing has been done?

See benchmark results in comment below.

@mikeprosserni
Copy link
Contributor Author

mikeprosserni commented Sep 23, 2025

Here are the latest benchmark results on my machine:

-------------------------------------------------------------------------------------------------------------------- benchmark 'analog_readers': 60 tests --------------------------------------------------------------------------------------------------------------------
Name (time in us)                                                                                Min                    Max                  Mean              StdDev                Median                 IQR            Outliers          OPS            Rounds  Iterations
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
test___analog_single_channel_reader___read_one_sample[library_init_kwargs]                   22.8000 (1.0)         110.5000 (1.0)         24.0578 (1.0)        4.6255 (1.0)         23.3000 (1.0)        0.2000 (1.0)        94;236  41,566.4866 (1.0)        3041           1
test___analog_single_channel_reader___read_waveform[library_init_kwargs-NONE-1]              36.3000 (1.59)        163.4000 (1.48)        41.5003 (1.73)      10.6099 (2.29)        38.1000 (1.64)       1.2000 (6.00)      287;592  24,096.2091 (0.58)       3291           1
test___analog_multi_channel_reader___read_waveform[library_init_kwargs-NONE-1-1]             40.8000 (1.79)        329.2000 (2.98)        45.7280 (1.90)      12.4315 (2.69)        42.5000 (1.82)       1.4750 (7.37)      348;465  21,868.4385 (0.53)       4039           1
test___analog_single_channel_reader___read_waveform[library_init_kwargs-NONE-1000]           45.2000 (1.98)        263.4000 (2.38)        49.7339 (2.07)      11.7413 (2.54)        47.1000 (2.02)       0.9000 (4.50)      426;887  20,106.9951 (0.48)       7582           1
test___analog_multi_channel_reader___read_waveform[library_init_kwargs-NONE-1-2]             45.5000 (2.00)        198.8000 (1.80)        48.2122 (2.00)       8.0520 (1.74)        47.1000 (2.02)       0.7000 (3.50)      135;491  20,741.6214 (0.50)       5932           1
test___analog_multi_channel_reader___read_waveform[library_init_kwargs-NONE-1000-2]          49.8000 (2.18)        290.1000 (2.63)        52.9531 (2.20)       9.5803 (2.07)        51.5000 (2.21)       0.7000 (3.50)      185;424  18,884.6419 (0.45)       6667           1
test___analog_multi_channel_reader___read_waveform[library_init_kwargs-NONE-1000-1]          50.4000 (2.21)        277.1000 (2.51)        53.1874 (2.21)       8.3635 (1.81)        51.9000 (2.23)       1.2000 (6.00)      191;437  18,801.4365 (0.45)       7205           1
test___analog_multi_channel_reader___read_many_sample[library_init_kwargs-1-1]               51.1000 (2.24)        229.8000 (2.08)        54.8884 (2.28)      10.5952 (2.29)        53.0000 (2.27)       1.1000 (5.50)      281;427  18,218.7886 (0.44)       7236           1
test___analog_multi_channel_reader___read_one_sample[library_init_kwargs-1]                  51.1000 (2.24)        345.9000 (3.13)        56.2075 (2.34)      13.5673 (2.93)        53.5000 (2.30)       1.9000 (9.50)      241;674  17,791.2319 (0.43)       5320           1
test___analog_single_channel_reader___read_many_sample[library_init_kwargs-1]                52.0000 (2.28)        379.9000 (3.44)        57.1838 (2.38)      12.8599 (2.78)        54.5000 (2.34)       1.8000 (9.00)      189;334  17,487.4847 (0.42)       3379           1
test___analog_multi_channel_reader___read_one_sample[library_init_kwargs-2]                  53.2000 (2.33)        218.2000 (1.97)        57.6378 (2.40)      11.5202 (2.49)        55.5000 (2.38)       1.2000 (6.00)      230;400  17,349.7320 (0.42)       5535           1
test___analog_multi_channel_reader___read_many_sample[library_init_kwargs-1-2]               53.7000 (2.36)      4,159.0000 (37.64)       62.2544 (2.59)      65.6377 (14.19)       56.0000 (2.40)       1.1000 (5.50)       51;687  16,063.1172 (0.39)       4958           1
test___analog_multi_channel_reader___read_many_sample[library_init_kwargs-1000-2]            57.7000 (2.53)        341.3000 (3.09)        61.2270 (2.54)      10.0188 (2.17)        59.8000 (2.57)       1.4000 (7.00)      132;244  16,332.6576 (0.39)       5129           1
test___analog_multi_channel_reader___read_many_sample[library_init_kwargs-1-8]               58.3000 (2.56)        253.8000 (2.30)        62.6783 (2.61)      10.8182 (2.34)        60.8000 (2.61)       0.9000 (4.50)      185;411  15,954.4794 (0.38)       4673           1
test___analog_multi_channel_reader___read_many_sample[library_init_kwargs-1000-1]            59.0000 (2.59)        223.9000 (2.03)        62.8517 (2.61)       9.4007 (2.03)        61.6000 (2.64)       2.1000 (10.50)     141;195  15,910.4620 (0.38)       5272           1
test___analog_multi_channel_reader___read_one_sample[library_init_kwargs-8]                  59.3000 (2.60)        201.6000 (1.82)        62.3326 (2.59)       9.9891 (2.16)        60.6000 (2.60)       0.8000 (4.00)      136;468  16,042.9594 (0.39)       4706           1
test___analog_single_channel_reader___read_many_sample[library_init_kwargs-1000]             60.4000 (2.65)        308.6000 (2.79)        68.1837 (2.83)      15.6577 (3.39)        63.8000 (2.74)       2.1000 (10.50)     418;527  14,666.2658 (0.35)       4020           1
test___analog_multi_channel_reader___read_waveform[library_init_kwargs-NONE-1-8]             63.5000 (2.79)        428.3000 (3.88)        71.9273 (2.99)      21.1595 (4.57)        66.4000 (2.85)       1.5000 (7.50)      383;670  13,902.9238 (0.33)       5418           1
test___analog_multi_channel_reader___read_many_sample[library_init_kwargs-1000-8]            73.5000 (3.22)        465.5000 (4.21)        76.9025 (3.20)      10.7342 (2.32)        75.5000 (3.24)       1.0000 (5.00)       89;184  13,003.4725 (0.31)       4339           1
test___task___read_analog[library_init_kwargs-1-1]                                           74.0000 (3.25)        317.1000 (2.87)        78.2517 (3.25)      12.9224 (2.79)        76.1000 (3.27)       1.1000 (5.50)      160;321  12,779.2832 (0.31)       4515           1
test___analog_multi_channel_reader___read_waveform[library_init_kwargs-NONE-1000-8]          78.1000 (3.43)        276.1000 (2.50)        83.5832 (3.47)      14.0013 (3.03)        80.7000 (3.46)       2.6000 (13.00)     190;225  11,964.1254 (0.29)       4437           1
test___task___read_analog_waveform[library_init_kwargs-NONE-1-1]                             86.2000 (3.78)        324.5000 (2.94)        92.5349 (3.85)      15.0504 (3.25)        89.6000 (3.85)       3.4000 (17.00)     180;219  10,806.7313 (0.26)       4121           1
test___task___read_analog[library_init_kwargs-1-2]                                           87.6000 (3.84)        400.8000 (3.63)        92.9190 (3.86)      12.8629 (2.78)        90.8000 (3.90)       2.5000 (12.50)     119;190  10,762.0650 (0.26)       4080           1
test___task___read_analog_waveform[library_init_kwargs-NONE-1000-1]                          96.1000 (4.21)        284.6000 (2.58)       101.4682 (4.22)      13.7759 (2.98)        99.0000 (4.25)       2.1000 (10.50)     154;269   9,855.2999 (0.24)       3924           1
test___task___read_analog[library_init_kwargs-1000-1]                                        97.6000 (4.28)        670.4000 (6.07)       105.5514 (4.39)      22.7629 (4.92)       100.8000 (4.33)       2.1000 (10.50)     206;542   9,474.0550 (0.23)       4527           1
test___task___read_analog_waveform[library_init_kwargs-NONE-1-2]                            112.5000 (4.93)        334.9000 (3.03)       120.8598 (5.02)      18.2620 (3.95)       116.9000 (5.02)       2.5000 (12.50)     185;260   8,274.0471 (0.20)       3232           1
test___task___read_analog[library_init_kwargs-1000-2]                                       115.8000 (5.08)        405.8000 (3.67)       124.3923 (5.17)      15.8092 (3.42)       122.7000 (5.27)       2.6250 (13.12)      93;318   8,039.0844 (0.19)       2913           1
test___task___read_analog_waveform[library_init_kwargs-NONE-1000-2]                         117.4000 (5.15)        315.8000 (2.86)       124.9238 (5.19)      13.2765 (2.87)       122.2000 (5.24)       3.4000 (17.00)     122;174   8,004.8819 (0.19)       3000           1
test___task___read_analog[library_init_kwargs-1-8]                                          160.1000 (7.02)     20,731.0000 (187.61)     176.6117 (7.34)     377.9334 (81.71)      165.6000 (7.11)       4.3000 (21.50)       1;247   5,662.1382 (0.14)       2968           1
test___task___read_analog_waveform[library_init_kwargs-NONE-1-8]                            227.5000 (9.98)        614.7000 (5.56)       240.6588 (10.00)     28.7061 (6.21)       233.6000 (10.03)      5.5750 (27.88)     177;206   4,155.2606 (0.10)       2315           1
test___task___read_analog_waveform[library_init_kwargs-NONE-1000-8]                         244.7000 (10.73)       738.1000 (6.68)       269.7014 (11.21)     44.4224 (9.60)       258.2000 (11.08)     10.5000 (52.50)     144;256   3,707.8040 (0.09)       2320           1
test___task___read_analog[library_init_kwargs-1000-8]                                       264.5000 (11.60)       624.0000 (5.65)       277.3128 (11.53)     33.1990 (7.18)       270.0000 (11.59)      4.6000 (23.00)      94;140   3,606.0363 (0.09)       1806           1
test___analog_single_channel_reader___read_waveform[library_init_kwargs-TIMING-1]           388.0000 (17.02)     8,002.3000 (72.42)      520.9639 (21.65)    348.8972 (75.43)      413.5000 (17.75)     70.6000 (353.00)    148;260   1,919.5189 (0.05)       1697           1
test___analog_multi_channel_reader___read_waveform[library_init_kwargs-TIMING-1-1]          395.6000 (17.35)       790.2000 (7.15)       418.3361 (17.39)     37.4166 (8.09)       409.6000 (17.58)     10.1000 (50.50)     126;169   2,390.4224 (0.06)       1836           1
test___analog_single_channel_reader___read_waveform[library_init_kwargs-TIMING-1000]        406.2000 (17.82)     1,814.1000 (16.42)      471.2370 (19.59)    132.6740 (28.68)      423.3000 (18.17)     43.4500 (217.25)    123;206   2,122.0745 (0.05)       1484           1
test___analog_multi_channel_reader___read_waveform[library_init_kwargs-TIMING-1000-1]       410.2000 (17.99)     1,160.1000 (10.50)      452.5063 (18.81)     94.9368 (20.52)      426.1000 (18.29)     13.2000 (66.00)     107;250   2,209.9139 (0.05)       1710           1
test___analog_multi_channel_reader___read_waveform[library_init_kwargs-ALL-1-1]             411.8000 (18.06)     1,079.3000 (9.77)       442.1009 (18.38)     50.3867 (10.89)      431.4000 (18.52)     10.2500 (51.25)     106;188   2,261.9270 (0.05)       1620           1
test___analog_single_channel_reader___read_waveform[library_init_kwargs-ALL-1]              418.8000 (18.37)    10,538.4000 (95.37)      456.2089 (18.96)    273.7187 (59.18)      434.8500 (18.66)      9.1000 (45.50)       9;204   2,191.9784 (0.05)       1410           1
test___analog_multi_channel_reader___read_waveform[library_init_kwargs-ALL-1000-1]          426.3000 (18.70)     1,047.6000 (9.48)       447.4673 (18.60)     41.4684 (8.97)       437.8000 (18.79)     10.7000 (53.50)     102;122   2,234.8000 (0.05)       1549           1
test___analog_single_channel_reader___read_waveform[library_init_kwargs-ALL-1000]           433.4000 (19.01)     2,220.0000 (20.09)      526.2156 (21.87)    181.1924 (39.17)      453.1000 (19.45)     66.1250 (330.62)     88;119   1,900.3619 (0.05)        855           1
test___task___read_analog_waveform[library_init_kwargs-TIMING-1-1]                          446.5000 (19.58)       878.0000 (7.95)       474.1168 (19.71)     43.9942 (9.51)       463.1000 (19.88)     10.8000 (54.00)     110;188   2,109.1850 (0.05)       1514           1
test___task___read_analog_waveform[library_init_kwargs-TIMING-1000-1]                       470.8000 (20.65)     1,294.4000 (11.71)      522.2038 (21.71)    101.3894 (21.92)      491.0000 (21.07)     20.5750 (102.87)    119;227   1,914.9611 (0.05)       1491           1
test___task___read_analog_waveform[library_init_kwargs-ALL-1-1]                             473.6000 (20.77)     1,174.1000 (10.63)      503.0776 (20.91)     62.5969 (13.53)      489.2000 (21.00)     11.1000 (55.50)      99;156   1,987.7648 (0.05)       1475           1
test___task___read_analog_waveform[library_init_kwargs-ALL-1000-1]                          484.6000 (21.25)     1,101.4000 (9.97)       513.8933 (21.36)     56.1522 (12.14)      501.7000 (21.53)      9.1000 (45.50)      90;169   1,945.9291 (0.05)       1469           1
test___analog_multi_channel_reader___read_waveform[library_init_kwargs-TIMING-1-2]          724.9000 (31.79)     1,561.6000 (14.13)      770.6956 (32.04)     84.7889 (18.33)      748.6000 (32.13)     18.0750 (90.37)      87;161   1,297.5291 (0.03)       1119           1
test___analog_multi_channel_reader___read_waveform[library_init_kwargs-TIMING-1000-2]       730.5000 (32.04)     1,783.8000 (16.14)      773.9985 (32.17)     84.5517 (18.28)      757.0500 (32.49)     12.2000 (61.00)      41;118   1,291.9921 (0.03)        942           1
test___analog_multi_channel_reader___read_waveform[library_init_kwargs-ALL-1-2]             755.0000 (33.11)     2,398.8000 (21.71)      803.0522 (33.38)    101.6721 (21.98)      781.6000 (33.55)     13.1500 (65.75)      55;144   1,245.2490 (0.03)       1072           1
test___analog_multi_channel_reader___read_waveform[library_init_kwargs-ALL-1000-2]          762.8000 (33.46)     1,600.4000 (14.48)      797.7541 (33.16)     74.7003 (16.15)      777.7000 (33.38)     15.7000 (78.50)      61;110   1,253.5191 (0.03)       1018           1
test___task___read_analog_waveform[library_init_kwargs-TIMING-1-2]                          802.3000 (35.19)     1,919.5000 (17.37)      862.8155 (35.86)    114.6161 (24.78)      829.4000 (35.60)     35.2500 (176.25)     71;116   1,158.9963 (0.03)        984           1
test___task___read_analog_waveform[library_init_kwargs-TIMING-1000-2]                       820.1000 (35.97)     1,854.7000 (16.78)      894.0798 (37.16)    127.2350 (27.51)      849.2000 (36.45)     40.8000 (204.00)     73;108   1,118.4685 (0.03)        810           1
test___task___read_analog_waveform[library_init_kwargs-ALL-1-2]                             828.1000 (36.32)     1,913.2000 (17.31)      875.3823 (36.39)     91.7301 (19.83)      848.2000 (36.40)     22.8750 (114.37)     50;106   1,142.3580 (0.03)        815           1
test___task___read_analog_waveform[library_init_kwargs-ALL-1000-2]                          840.5000 (36.86)     2,842.4000 (25.72)      918.7862 (38.19)    160.1623 (34.63)      872.8500 (37.46)     38.4000 (192.00)     54;112   1,088.3925 (0.03)        878           1
test___analog_multi_channel_reader___read_waveform[library_init_kwargs-TIMING-1000-8]     2,600.9000 (114.07)    4,531.3000 (41.01)    2,762.9150 (114.84)   290.5053 (62.80)    2,667.6000 (114.49)    84.3000 (421.50)      22;43     361.9366 (0.01)        366           1
test___analog_multi_channel_reader___read_waveform[library_init_kwargs-TIMING-1-8]        2,620.8000 (114.95)    5,177.7000 (46.86)    2,883.8150 (119.87)   417.6077 (90.28)    2,721.0000 (116.78)   129.0000 (645.00)      37;56     346.7629 (0.01)        359           1
test___analog_multi_channel_reader___read_waveform[library_init_kwargs-ALL-1-8]           2,663.6000 (116.82)    6,386.4000 (57.80)    2,975.1615 (123.67)   509.5255 (110.16)   2,805.5500 (120.41)   164.7500 (823.75)      33;51     336.1162 (0.01)        356           1
test___analog_multi_channel_reader___read_waveform[library_init_kwargs-ALL-1000-8]        2,703.1000 (118.56)    7,376.9000 (66.76)    2,883.5196 (119.86)   405.1463 (87.59)    2,777.3000 (119.20)   106.0000 (530.00)      23;37     346.7984 (0.01)        322           1
test___task___read_analog_waveform[library_init_kwargs-TIMING-1-8]                        2,832.7000 (124.24)    8,975.5000 (81.23)    3,134.8392 (130.30)   616.3755 (133.26)   2,975.7000 (127.71)   156.4250 (782.12)      22;40     318.9956 (0.01)        311           1
test___task___read_analog_waveform[library_init_kwargs-ALL-1000-8]                        2,843.3000 (124.71)    4,663.5000 (42.20)    3,038.4682 (126.30)   304.6983 (65.87)    2,953.7000 (126.77)   100.5000 (502.50)      20;29     329.1132 (0.01)        283           1
test___task___read_analog_waveform[library_init_kwargs-ALL-1-8]                           2,852.9000 (125.13)    5,447.7000 (49.30)    3,021.5806 (125.60)   286.1382 (61.86)    2,948.4000 (126.54)   114.5000 (572.50)      21;34     330.9526 (0.01)        325           1
test___task___read_analog_waveform[library_init_kwargs-TIMING-1000-8]                     2,870.9000 (125.92)    6,612.9000 (59.85)    3,311.7287 (137.66)   700.5240 (151.45)   3,025.7000 (129.86)   286.0250 (>1000.0)     37;49     301.9571 (0.01)        303           1
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------- benchmark 'analog_writers': 23 tests -------------------------------------------------------------------------------------------------------------
Name (time in us)                                                                           Min                 Max                Mean             StdDev              Median               IQR            Outliers  OPS (Kops/s)            Rounds  Iterations
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
test___analog_single_channel_writer___write_one_sample[library_init_kwargs]             13.2000 (1.0)      139.1000 (1.0)       14.0920 (1.0)       3.2120 (1.0)       13.7000 (1.0)      0.2000 (1.0)       251;951       70.9624 (1.0)       14514           1
test___analog_single_channel_writer___write_waveform[library_init_kwargs-1]             29.9000 (2.27)     173.8000 (1.25)      32.3311 (2.29)      7.2053 (2.24)      31.2000 (2.28)     0.6000 (3.00)      311;757       30.9299 (0.44)       9286           1
test___analog_multi_channel_writer___write_waveform[library_init_kwargs-1-1]            32.1000 (2.43)     224.4000 (1.61)      34.6619 (2.46)      7.3992 (2.30)      33.2000 (2.42)     0.5000 (2.50)      350;634       28.8501 (0.41)       6672           1
test___analog_single_channel_writer___write_waveform[library_init_kwargs-1000]          35.4000 (2.68)     370.6000 (2.66)      40.1028 (2.85)     10.2171 (3.18)      37.9000 (2.77)     1.4000 (7.00)     815;1161       24.9359 (0.35)      11062           1
test___analog_multi_channel_writer___write_waveform[library_init_kwargs-1000-1]         37.6000 (2.85)     273.4000 (1.97)      40.0204 (2.84)      7.3385 (2.28)      39.0000 (2.85)     0.7000 (3.50)      229;471       24.9873 (0.35)       8526           1
test___analog_multi_channel_writer___write_waveform[library_init_kwargs-1-2]            38.5000 (2.92)     209.1000 (1.50)      41.3247 (2.93)      8.5280 (2.66)      40.1000 (2.93)     1.0000 (5.00)      232;384       24.1986 (0.34)       8117           1
test___analog_multi_channel_writer___write_waveform[library_init_kwargs-1000-2]         43.6000 (3.30)     210.7000 (1.51)      47.4349 (3.37)      8.5726 (2.67)      46.2000 (3.37)     1.2000 (6.00)      196;361       21.0815 (0.30)       7364           1
test___analog_multi_channel_writer___write_one_sample[library_init_kwargs-1]            49.5000 (3.75)     271.7000 (1.95)      52.3386 (3.71)      8.2117 (2.56)      51.2000 (3.74)     0.9000 (4.50)      154;443       19.1064 (0.27)       7038           1
test___analog_multi_channel_writer___write_many_sample[library_init_kwargs-1-1]         49.7000 (3.77)     221.0000 (1.59)      52.9964 (3.76)      8.9987 (2.80)      51.6000 (3.77)     1.2000 (6.00)      180;516       18.8692 (0.27)       6382           1
test___analog_single_channel_writer___write_many_sample[library_init_kwargs-1]          50.3000 (3.81)     243.1000 (1.75)      53.0989 (3.77)      9.2803 (2.89)      51.9000 (3.79)     1.0000 (5.00)       58;118       18.8328 (0.27)       2722           1
test___analog_single_channel_writer___write_many_sample[library_init_kwargs-1000]       53.3000 (4.04)     212.0000 (1.52)      56.6304 (4.02)      8.9253 (2.78)      55.3000 (4.04)     1.2000 (6.00)      138;618       17.6584 (0.25)       6223           1
test___analog_multi_channel_writer___write_many_sample[library_init_kwargs-1000-1]      54.4000 (4.12)     251.3000 (1.81)      58.2488 (4.13)     10.4944 (3.27)      56.5000 (4.12)     0.8000 (4.00)      231;409       17.1677 (0.24)       5791           1
test___task___write_analog[library_init_kwargs-1-1]                                     59.8000 (4.53)     242.9000 (1.75)      64.3194 (4.56)      9.6080 (2.99)      63.0000 (4.60)     1.0000 (5.00)      285;829       15.5474 (0.22)      10494           1
test___analog_multi_channel_writer___write_one_sample[library_init_kwargs-2]            62.0000 (4.70)     218.0000 (1.57)      65.9685 (4.68)     10.8342 (3.37)      63.8000 (4.66)     1.5000 (7.50)      107;149       15.1587 (0.21)       2203           1
test___analog_multi_channel_writer___write_many_sample[library_init_kwargs-1-2]         63.0000 (4.77)     394.7000 (2.84)      66.9927 (4.75)     12.1900 (3.80)      64.9000 (4.74)     1.0000 (5.00)      143;226       14.9270 (0.21)       3461           1
test___task___write_analog[library_init_kwargs-1000-1]                                  63.4000 (4.80)     369.2000 (2.65)      68.6602 (4.87)     10.6051 (3.30)      67.0000 (4.89)     1.5000 (7.50)      380;729       14.5645 (0.21)      10428           1
test___analog_multi_channel_writer___write_many_sample[library_init_kwargs-1000-2]      66.2000 (5.02)     312.0000 (2.24)      70.5218 (5.00)     13.6914 (4.26)      67.6000 (4.93)     1.0000 (5.00)      114;265       14.1800 (0.20)       2492           1
test___task___write_analog[library_init_kwargs-1-2]                                     75.2000 (5.70)     434.8000 (3.13)      81.1570 (5.76)     11.4927 (3.58)      79.7000 (5.82)     1.8000 (9.00)      267;575       12.3218 (0.17)       9882           1
test___task___write_analog_waveform[library_init_kwargs-1-1]                            75.2000 (5.70)     326.6000 (2.35)      90.8289 (6.45)     25.7447 (8.02)      81.1000 (5.92)     4.3000 (21.50)     540;840       11.0097 (0.16)       4102           1
test___task___write_analog[library_init_kwargs-1000-2]                                  79.5000 (6.02)     342.7000 (2.46)      83.8677 (5.95)     11.4480 (3.56)      81.8000 (5.97)     2.0000 (10.00)     266;430       11.9235 (0.17)       9150           1
test___task___write_analog_waveform[library_init_kwargs-1000-1]                         81.4000 (6.17)     425.0000 (3.06)      86.6295 (6.15)     13.5621 (4.22)      84.4000 (6.16)     1.6000 (8.00)      171;335       11.5434 (0.16)       4615           1
test___task___write_analog_waveform[library_init_kwargs-1-2]                            99.6000 (7.55)     315.7000 (2.27)     107.4126 (7.62)     15.8970 (4.95)     104.6000 (7.64)     3.6000 (18.00)     204;348        9.3099 (0.13)       4085           1
test___task___write_analog_waveform[library_init_kwargs-1000-2]                        103.7000 (7.86)     544.6000 (3.92)     111.5436 (7.92)     15.7351 (4.90)     109.2000 (7.97)     3.2000 (16.00)     116;237        8.9651 (0.13)       3617           1
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------- benchmark 'digital_readers': 66 tests --------------------------------------------------------------------------------------------------------------------
Name (time in us)                                                                                     Min                    Max                Mean              StdDev              Median                IQR            Outliers  OPS (Kops/s)            Rounds  Iterations
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
test___digital_single_channel_reader___read_one_sample_one_line[library_init_kwargs]              31.1000 (1.0)         270.0000 (1.35)      35.5785 (1.0)       11.7181 (1.27)      32.3000 (1.0)       1.3000 (2.17)      367;542       28.1069 (1.0)        4720           1
test___digital_multi_channel_reader___read_many_sample_port_uint32[library_init_kwargs-1]         51.1000 (1.64)        266.4000 (1.33)      55.2865 (1.55)      10.5072 (1.14)      53.8000 (1.67)      1.5000 (2.50)      200;397       18.0876 (0.64)       5771           1
test___digital_single_channel_reader___read_many_sample_port_uint32[library_init_kwargs-1]        51.7000 (1.66)        278.2000 (1.39)      55.0982 (1.55)      10.5979 (1.14)      53.3000 (1.65)      0.8000 (1.33)      151;287       18.1494 (0.65)       3721           1
test___digital_single_channel_reader___read_one_sample_multi_line[library_init_kwargs-1]          54.8000 (1.76)        220.0000 (1.10)      58.5793 (1.65)       9.4270 (1.02)      57.1000 (1.77)      1.3000 (2.17)      130;325       17.0709 (0.61)       5474           1
test___digital_single_channel_reader___read_one_sample_multi_line[library_init_kwargs-8]          55.1000 (1.77)        207.9000 (1.04)      58.7544 (1.65)      10.1387 (1.10)      57.0000 (1.76)      0.6000 (1.0)       209;513       17.0200 (0.61)       5581           1
test___digital_multi_channel_reader___read_one_sample_one_line[library_init_kwargs-1]             55.1000 (1.77)        248.6000 (1.24)      58.9745 (1.66)       9.5016 (1.03)      57.5000 (1.78)      1.4000 (2.33)      166;293       16.9565 (0.60)       5593           1
test___digital_single_channel_reader___read_one_sample_multi_line[library_init_kwargs-2]          55.3000 (1.78)        212.2000 (1.06)      58.9551 (1.66)      10.0763 (1.09)      57.1000 (1.77)      0.8000 (1.33)      205;473       16.9621 (0.60)       5679           1
test___digital_multi_channel_reader___read_one_sample_multi_line[library_init_kwargs-1-1]         55.7000 (1.79)        757.4000 (3.78)      59.5490 (1.67)      13.0241 (1.41)      58.0000 (1.80)      1.7000 (2.83)      190;255       16.7929 (0.60)       5587           1
test___digital_multi_channel_reader___read_one_sample_multi_line[library_init_kwargs-8-1]         55.7000 (1.79)        222.8000 (1.11)      59.2102 (1.66)       9.6870 (1.05)      57.6000 (1.78)      1.0000 (1.67)      160;441       16.8890 (0.60)       5575           1
test___digital_multi_channel_reader___read_one_sample_multi_line[library_init_kwargs-2-1]         56.5000 (1.82)        228.0000 (1.14)      60.2211 (1.69)       9.7119 (1.05)      58.4000 (1.81)      0.9000 (1.50)      198;424       16.6055 (0.59)       4602           1
test___digital_single_channel_reader___read_many_sample_port_uint32[library_init_kwargs-100]      57.6000 (1.85)        421.9000 (2.11)      63.8231 (1.79)      14.6902 (1.59)      60.9000 (1.89)      1.7000 (2.83)      380;638       15.6683 (0.56)       6636           1
test___digital_multi_channel_reader___read_one_sample_multi_line[library_init_kwargs-1-2]         57.7000 (1.86)     15,687.6000 (78.32)     65.9582 (1.85)     225.9682 (24.41)     60.5000 (1.87)      2.0000 (3.33)        1;385       15.1611 (0.54)       4794           1
test___digital_multi_channel_reader___read_one_sample_multi_line[library_init_kwargs-8-2]         58.4000 (1.88)        357.9000 (1.79)      62.4381 (1.75)      11.4615 (1.24)      61.1000 (1.89)      1.7000 (2.83)      146;250       16.0159 (0.57)       4881           1
test___digital_multi_channel_reader___read_one_sample_one_line[library_init_kwargs-2]             58.4000 (1.88)        200.3000 (1.0)       61.7586 (1.74)       9.2564 (1.0)       60.3000 (1.87)      0.8000 (1.33)      148;321       16.1921 (0.58)       4831           1
test___digital_multi_channel_reader___read_one_sample_multi_line[library_init_kwargs-2-2]         58.5000 (1.88)        381.1000 (1.90)      61.6181 (1.73)       9.7959 (1.06)      60.3000 (1.87)      1.2000 (2.00)      112;306       16.2290 (0.58)       4806           1
test___digital_multi_channel_reader___read_many_sample_port_uint32[library_init_kwargs-100]       58.8000 (1.89)        220.1000 (1.10)      62.6619 (1.76)       9.6531 (1.04)      61.1000 (1.89)      1.4000 (2.33)      167;276       15.9587 (0.57)       5565           1
test___task___read_digital_port[library_init_kwargs-1]                                            62.6000 (2.01)        322.6000 (1.61)      68.6654 (1.93)      14.8260 (1.60)      65.1000 (2.02)      1.7750 (2.96)      312;509       14.5634 (0.52)       5239           1
test___task___read_digital_lines[library_init_kwargs-8-1-1]                                       63.2000 (2.03)        517.0000 (2.58)      68.5377 (1.93)      13.6364 (1.47)      66.6000 (2.06)      2.1000 (3.50)      154;252       14.5905 (0.52)       5087           1
test___task___read_digital_lines[library_init_kwargs-1-1-1]                                       63.3000 (2.04)        270.6000 (1.35)      68.6444 (1.93)      12.9724 (1.40)      66.2000 (2.05)      2.1000 (3.50)      210;407       14.5678 (0.52)       5158           1
test___task___read_digital_lines[library_init_kwargs-2-1-1]                                       64.3000 (2.07)        276.2000 (1.38)      68.7492 (1.93)      12.2419 (1.32)      66.7000 (2.07)      1.3000 (2.17)      149;320       14.5456 (0.52)       4445           1
test___task___read_digital_lines[library_init_kwargs-2-1-2]                                       66.7000 (2.14)        226.0000 (1.13)      71.0391 (2.00)      10.6251 (1.15)      69.3000 (2.15)      1.8000 (3.00)      207;360       14.0768 (0.50)       5974           1
test___task___read_digital_lines[library_init_kwargs-1-1-2]                                       67.2000 (2.16)        285.5000 (1.43)      72.1597 (2.03)      12.3214 (1.33)      69.8000 (2.16)      1.3000 (2.17)      182;347       13.8581 (0.49)       4483           1
test___task___read_digital_lines[library_init_kwargs-8-1-2]                                       67.7000 (2.18)        501.9000 (2.51)      73.7255 (2.07)      15.7497 (1.70)      70.1000 (2.17)      1.7000 (2.83)      275;465       13.5638 (0.48)       4377           1
test___task___read_digital_port[library_init_kwargs-100]                                          68.5000 (2.20)        281.8000 (1.41)      73.8756 (2.08)      11.6973 (1.26)      71.9000 (2.23)      1.4000 (2.33)      199;553       13.5363 (0.48)       5663           1
test___task___read_digital_lines[library_init_kwargs-2-100-2]                                     69.1000 (2.22)        251.9000 (1.26)      73.4799 (2.07)      11.6635 (1.26)      71.5000 (2.21)      0.9000 (1.50)      178;346       13.6092 (0.48)       4300           1
test___task___read_digital_lines[library_init_kwargs-8-100-2]                                     69.2000 (2.23)        299.4000 (1.49)      73.6965 (2.07)      12.1550 (1.31)      71.7000 (2.22)      1.8000 (3.00)      168;234       13.5692 (0.48)       4215           1
test___task___read_digital_lines[library_init_kwargs-1-100-2]                                     69.9000 (2.25)        266.8000 (1.33)      74.1319 (2.08)      13.5270 (1.46)      71.7000 (2.22)      1.2000 (2.00)      134;414       13.4895 (0.48)       4232           1
test___task___read_digital_lines[library_init_kwargs-1-100-1]                                     71.3000 (2.29)        310.8000 (1.55)      76.2006 (2.14)      11.9574 (1.29)      73.8000 (2.28)      1.4000 (2.33)      230;311       13.1233 (0.47)       4834           1
test___task___read_digital_lines[library_init_kwargs-2-100-1]                                     71.4000 (2.30)        305.7000 (1.53)      78.8418 (2.22)      14.0086 (1.51)      75.1000 (2.33)      2.7000 (4.50)      336;523       12.6836 (0.45)       4843           1
test___task___read_digital_lines[library_init_kwargs-8-100-1]                                     73.2000 (2.35)      6,469.2000 (32.30)     79.8419 (2.24)      91.2618 (9.86)      76.0000 (2.35)      1.1000 (1.83)       27;607       12.5247 (0.45)       5011           1
test___digital_single_channel_reader___read_waveform_lines[library_init_kwargs-2-1]              409.0000 (13.15)     1,082.7000 (5.41)     435.8228 (12.25)     56.6923 (6.12)     420.0000 (13.00)    11.5000 (19.17)     114;221        2.2945 (0.08)       1677           1
test___digital_single_channel_reader___read_waveform_lines[library_init_kwargs-1-1]              409.3000 (13.16)     1,200.3000 (5.99)     442.4694 (12.44)     66.1115 (7.14)     427.8000 (13.24)    11.1000 (18.50)      92;163        2.2600 (0.08)       1528           1
test___digital_single_channel_reader___read_waveform_lines[library_init_kwargs-8-1]              411.8000 (13.24)       908.8000 (4.54)     433.4137 (12.18)     39.3657 (4.25)     423.4000 (13.11)    13.1000 (21.83)     106;141        2.3073 (0.08)       1782           1
test___digital_single_channel_reader___read_waveform_lines[library_init_kwargs-1-100]            414.3000 (13.32)     1,147.6000 (5.73)     443.0141 (12.45)     59.0242 (6.38)     432.4000 (13.39)    10.8000 (18.00)      90;139        2.2573 (0.08)       1716           1
test___digital_single_channel_reader___read_waveform_lines[library_init_kwargs-8-100]            418.5000 (13.46)       976.5000 (4.88)     441.7935 (12.42)     50.8535 (5.49)     429.3000 (13.29)     9.3000 (15.50)     102;170        2.2635 (0.08)       1730           1
test___digital_single_channel_reader___read_waveform_lines[library_init_kwargs-2-100]            424.6000 (13.65)     1,857.6000 (9.27)     458.5334 (12.89)     79.3984 (8.58)     441.3000 (13.66)    11.7000 (19.50)      90;241        2.1809 (0.08)       1747           1
test___digital_single_channel_reader___read_waveform_port[library_init_kwargs-1]                 426.3000 (13.71)     1,595.0000 (7.96)     480.2991 (13.50)    121.1041 (13.08)    447.1000 (13.84)    10.3000 (17.17)     111;279        2.0820 (0.07)       1710           1
test___digital_multi_channel_reader___read_waveform_lines[library_init_kwargs-2-1-1]             426.6000 (13.72)     1,057.4000 (5.28)     452.8297 (12.73)     58.7151 (6.34)     438.7000 (13.58)     8.8750 (14.79)      99;155        2.2083 (0.08)       1611           1
test___digital_single_channel_reader___read_waveform_port[library_init_kwargs-100]               428.3000 (13.77)     1,401.0000 (6.99)     452.6213 (12.72)     51.2711 (5.54)     441.5000 (13.67)    10.8500 (18.08)     102;140        2.2094 (0.08)       1640           1
test___digital_multi_channel_reader___read_waveform_lines[library_init_kwargs-1-1-1]             430.9000 (13.86)     1,440.6000 (7.19)     471.9877 (13.27)     91.3186 (9.87)     446.3500 (13.82)    18.1500 (30.25)     106;222        2.1187 (0.08)       1632           1
test___digital_multi_channel_reader___read_waveform_lines[library_init_kwargs-2-100-1]           432.1000 (13.89)     1,166.1000 (5.82)     476.8722 (13.40)     79.7510 (8.62)     454.8000 (14.08)    10.8250 (18.04)     122;252        2.0970 (0.07)       1609           1
test___digital_multi_channel_reader___read_waveform_lines[library_init_kwargs-8-1-1]             435.9000 (14.02)     1,061.2000 (5.30)     457.3310 (12.85)     46.4419 (5.02)     447.1000 (13.84)     9.6000 (16.00)     112;164        2.1866 (0.08)       1648           1
test___digital_multi_channel_reader___read_waveform_lines[library_init_kwargs-1-100-1]           437.3000 (14.06)     1,114.5000 (5.56)     461.4260 (12.97)     41.2650 (4.46)     451.7000 (13.98)     6.1750 (10.29)     120;224        2.1672 (0.08)       1663           1
test___digital_multi_channel_reader___read_waveform_port[library_init_kwargs-1]                  439.9000 (14.14)     1,046.0000 (5.22)     464.1478 (13.05)     37.5442 (4.06)     455.6000 (14.11)     6.1000 (10.17)     119;208        2.1545 (0.08)       1637           1
test___digital_multi_channel_reader___read_waveform_lines[library_init_kwargs-8-100-1]           445.1000 (14.31)     1,094.5000 (5.46)     476.8069 (13.40)     59.5460 (6.43)     461.9000 (14.30)     8.6000 (14.33)     121;216        2.0973 (0.07)       1626           1
test___digital_multi_channel_reader___read_waveform_port[library_init_kwargs-100]                449.2000 (14.44)     1,733.0000 (8.65)     508.6448 (14.30)    140.1070 (15.14)    467.0000 (14.46)    15.9000 (26.50)     105;267        1.9660 (0.07)       1578           1
test___task___read_digital_lines_waveform[library_init_kwargs-1-1-1]                             471.8000 (15.17)     1,745.6000 (8.71)     501.8660 (14.11)     73.3979 (7.93)     487.7000 (15.10)    11.7000 (19.50)      65;149        1.9926 (0.07)       1410           1
test___task___read_digital_lines_waveform[library_init_kwargs-1-100-1]                           473.6000 (15.23)     1,301.6000 (6.50)     512.6092 (14.41)     62.0433 (6.70)     498.8000 (15.44)    20.6750 (34.46)      96;139        1.9508 (0.07)       1423           1
test___task___read_digital_port_waveform[library_init_kwargs-1]                                  475.7000 (15.30)     1,150.6000 (5.74)     503.9717 (14.17)     43.3640 (4.68)     493.1000 (15.27)    11.5250 (19.21)     106;150        1.9842 (0.07)       1545           1
test___task___read_digital_lines_waveform[library_init_kwargs-2-1-1]                             476.4000 (15.32)     1,515.9000 (7.57)     523.7905 (14.72)    113.0966 (12.22)    494.9000 (15.32)    13.4000 (22.33)      75;243        1.9092 (0.07)       1463           1
test___task___read_digital_lines_waveform[library_init_kwargs-8-1-1]                             478.0000 (15.37)     1,226.5000 (6.12)     509.6169 (14.32)     63.9909 (6.91)     494.5000 (15.31)    11.8000 (19.67)      98;182        1.9623 (0.07)       1446           1
test___task___read_digital_lines_waveform[library_init_kwargs-2-100-1]                           483.0000 (15.53)     1,028.7000 (5.14)     505.4154 (14.21)     48.0278 (5.19)     492.2000 (15.24)     7.6000 (12.67)      79;115        1.9786 (0.07)       1045           1
test___task___read_digital_lines_waveform[library_init_kwargs-8-100-1]                           489.6000 (15.74)     1,453.6000 (7.26)     514.7129 (14.47)     63.0467 (6.81)     500.0000 (15.48)    10.3000 (17.17)      80;136        1.9428 (0.07)       1370           1
test___task___read_digital_port_waveform[library_init_kwargs-100]                                492.1000 (15.82)       944.6000 (4.72)     514.9027 (14.47)     50.1227 (5.41)     501.3000 (15.52)     9.4000 (15.67)     102;153        1.9421 (0.07)       1427           1
test___digital_multi_channel_reader___read_waveform_lines[library_init_kwargs-2-1-2]             746.2000 (23.99)     1,744.2000 (8.71)     794.1195 (22.32)     81.8939 (8.85)     772.9000 (23.93)    19.8500 (33.08)      70;120        1.2593 (0.04)       1088           1
test___digital_multi_channel_reader___read_waveform_lines[library_init_kwargs-1-100-2]           755.6000 (24.30)     2,006.4000 (10.02)    808.0144 (22.71)    111.3365 (12.03)    784.1500 (24.28)    11.6000 (19.33)      51;191        1.2376 (0.04)       1030           1
test___digital_multi_channel_reader___read_waveform_lines[library_init_kwargs-1-1-2]             757.2000 (24.35)     1,717.7000 (8.58)     806.1890 (22.66)     93.3914 (10.09)    783.7000 (24.26)    18.6000 (31.00)      75;140        1.2404 (0.04)       1040           1
test___digital_multi_channel_reader___read_waveform_lines[library_init_kwargs-2-100-2]           761.6000 (24.49)     2,027.7000 (10.12)    822.6376 (23.12)    119.6449 (12.93)    796.7500 (24.67)    30.6500 (51.08)      67;128        1.2156 (0.04)       1072           1
test___digital_multi_channel_reader___read_waveform_lines[library_init_kwargs-8-1-2]             762.7000 (24.52)     1,705.4000 (8.51)     805.4167 (22.64)     81.4723 (8.80)     787.7000 (24.39)    17.3000 (28.83)      66;142        1.2416 (0.04)       1079           1
test___digital_multi_channel_reader___read_waveform_lines[library_init_kwargs-8-100-2]           763.5000 (24.55)     1,602.6000 (8.00)     826.5121 (23.23)    104.8035 (11.32)    794.4000 (24.59)    17.5500 (29.25)      92;183        1.2099 (0.04)       1084           1
test___task___read_digital_lines_waveform[library_init_kwargs-1-1-2]                             796.6000 (25.61)     1,973.7000 (9.85)     850.7704 (23.91)     88.2120 (9.53)     826.0000 (25.57)    25.6500 (42.75)      69;107        1.1754 (0.04)        976           1
test___task___read_digital_lines_waveform[library_init_kwargs-2-1-2]                             797.7000 (25.65)     1,864.1000 (9.31)     857.3264 (24.10)    109.5731 (11.84)    833.5500 (25.81)    21.6000 (36.00)      54;122        1.1664 (0.04)        978           1
test___task___read_digital_lines_waveform[library_init_kwargs-1-100-2]                           814.8000 (26.20)     2,168.4000 (10.83)    869.7490 (24.45)    137.2025 (14.82)    832.7000 (25.78)    20.0000 (33.33)      46;111        1.1498 (0.04)        839           1
test___task___read_digital_lines_waveform[library_init_kwargs-8-1-2]                             816.8000 (26.26)     1,841.4000 (9.19)     859.2439 (24.15)     81.8628 (8.84)     834.5000 (25.84)    18.6250 (31.04)      66;122        1.1638 (0.04)        905           1
test___task___read_digital_lines_waveform[library_init_kwargs-8-100-2]                           818.0000 (26.30)     2,651.5000 (13.24)    911.9216 (25.63)    196.5117 (21.23)    852.2000 (26.38)    40.2000 (67.00)      57;138        1.0966 (0.04)        962           1
test___task___read_digital_lines_waveform[library_init_kwargs-2-100-2]                           826.4000 (26.57)     1,883.0000 (9.40)     869.4484 (24.44)     92.0326 (9.94)     844.2000 (26.14)    23.5000 (39.17)      53;122        1.1502 (0.04)        922           1
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------- benchmark 'digital_writers': 66 tests --------------------------------------------------------------------------------------------------------------------
Name (time in us)                                                                                      Min                    Max                Mean              StdDev              Median               IQR            Outliers  OPS (Kops/s)            Rounds  Iterations
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
test___digital_single_channel_writer___write_one_sample_one_line[library_init_kwargs]              21.8000 (1.0)         155.8000 (1.0)       23.0879 (1.0)        5.9566 (1.0)       22.4000 (1.0)      0.4000 (1.0)        86;417       43.3127 (1.0)        5320           1
test___digital_single_channel_writer___write_waveform_lines[library_init_kwargs-2-1]               27.5000 (1.26)        212.7000 (1.37)      30.0073 (1.30)       8.5595 (1.44)      28.7000 (1.28)     0.7000 (1.75)      281;487       33.3252 (0.77)       8842           1
test___digital_single_channel_writer___write_waveform_lines[library_init_kwargs-1-1]               27.6000 (1.27)        210.0000 (1.35)      29.9549 (1.30)       8.6644 (1.45)      28.6000 (1.28)     0.4000 (1.00)      108;261       33.3835 (0.77)       3473           1
test___digital_single_channel_writer___write_waveform_port[library_init_kwargs-1]                  27.7000 (1.27)        181.1000 (1.16)      30.0980 (1.30)       7.9199 (1.33)      28.8000 (1.29)     0.6000 (1.50)     353;1084       33.2248 (0.77)      12196           1
test___digital_single_channel_writer___write_waveform_lines[library_init_kwargs-8-1]               27.9000 (1.28)        196.6000 (1.26)      31.4390 (1.36)       9.1779 (1.54)      29.6000 (1.32)     0.8000 (2.00)     593;1241       31.8077 (0.73)      11575           1
test___digital_single_channel_writer___write_waveform_lines[library_init_kwargs-2-100]             31.1000 (1.43)        191.2000 (1.23)      33.8311 (1.47)       7.5747 (1.27)      32.7000 (1.46)     1.1000 (2.75)      268;432       29.5586 (0.68)       8569           1
test___digital_single_channel_writer___write_waveform_lines[library_init_kwargs-1-100]             31.3000 (1.44)        265.6000 (1.70)      33.7056 (1.46)       8.6469 (1.45)      32.4000 (1.45)     0.6000 (1.50)      214;797       29.6687 (0.68)       8874           1
test___digital_single_channel_writer___write_waveform_lines[library_init_kwargs-8-100]             31.9000 (1.46)        270.6000 (1.74)      34.1335 (1.48)       8.0872 (1.36)      32.9000 (1.47)     0.6000 (1.50)      321;909       29.2967 (0.68)      11099           1
test___digital_multi_channel_writer___write_waveform_lines[library_init_kwargs-2-1-1]              33.3000 (1.53)        232.8000 (1.49)      37.0393 (1.60)       9.4677 (1.59)      35.2000 (1.57)     1.1000 (2.75)      534;746       26.9983 (0.62)       9417           1
test___digital_multi_channel_writer___write_waveform_port[library_init_kwargs-1]                   33.3000 (1.53)        231.5000 (1.49)      36.3324 (1.57)       9.3887 (1.58)      34.7000 (1.55)     0.7000 (1.75)      306;720       27.5236 (0.64)       8164           1
test___digital_multi_channel_writer___write_waveform_lines[library_init_kwargs-1-1-1]              33.5000 (1.54)        247.9000 (1.59)      37.8765 (1.64)      11.2469 (1.89)      35.0000 (1.56)     1.0000 (2.50)     792;1092       26.4016 (0.61)      10122           1
test___digital_multi_channel_writer___write_waveform_lines[library_init_kwargs-8-1-1]              33.6000 (1.54)        216.9000 (1.39)      36.5318 (1.58)       8.1586 (1.37)      35.2000 (1.57)     0.8000 (2.00)      308;478       27.3734 (0.63)       8292           1
test___digital_multi_channel_writer___write_waveform_lines[library_init_kwargs-8-1-2]              34.2000 (1.57)        196.5000 (1.26)      36.7612 (1.59)       7.7831 (1.31)      35.6000 (1.59)     0.6000 (1.50)      240;508       27.2026 (0.63)       8238           1
test___digital_single_channel_writer___write_waveform_port[library_init_kwargs-100]                34.9000 (1.60)        218.0000 (1.40)      39.5119 (1.71)      12.3143 (2.07)      36.3000 (1.62)     1.2000 (3.00)     736;1196       25.3089 (0.58)       9681           1
test___digital_multi_channel_writer___write_waveform_lines[library_init_kwargs-2-1-2]              35.2000 (1.61)        194.0000 (1.25)      39.1625 (1.70)       9.5304 (1.60)      36.7000 (1.64)     0.8000 (2.00)     779;1201       25.5347 (0.59)       8881           1
test___digital_multi_channel_writer___write_waveform_lines[library_init_kwargs-1-1-2]              35.4000 (1.62)        277.1000 (1.78)      41.5877 (1.80)      13.7211 (2.30)      36.8000 (1.64)     1.0000 (2.50)    1102;1364       24.0456 (0.56)       8555           1
test___digital_multi_channel_writer___write_waveform_lines[library_init_kwargs-1-100-2]            35.8000 (1.64)        504.8000 (3.24)      40.2180 (1.74)      12.1460 (2.04)      38.0000 (1.70)     1.0000 (2.50)      454;739       24.8645 (0.57)       8969           1
test___digital_multi_channel_writer___write_waveform_lines[library_init_kwargs-2-100-2]            36.1000 (1.66)        198.1000 (1.27)      38.8678 (1.68)       8.8488 (1.49)      37.5000 (1.67)     0.7000 (1.75)      240;571       25.7283 (0.59)       8033           1
test___digital_multi_channel_writer___write_waveform_lines[library_init_kwargs-2-100-1]            36.4000 (1.67)        233.7000 (1.50)      38.9446 (1.69)       7.6293 (1.28)      38.0000 (1.70)     0.8000 (2.00)      208;666       25.6775 (0.59)      10246           1
test___digital_multi_channel_writer___write_waveform_lines[library_init_kwargs-1-100-1]            36.8000 (1.69)        214.2000 (1.37)      39.8158 (1.72)       9.2179 (1.55)      38.1000 (1.70)     1.0000 (2.50)      377;825       25.1156 (0.58)       9843           1
test___digital_multi_channel_writer___write_waveform_lines[library_init_kwargs-8-100-2]            37.6000 (1.72)        164.0000 (1.05)      40.3272 (1.75)       8.5063 (1.43)      39.0000 (1.74)     0.7000 (1.75)      265;546       24.7972 (0.57)       7881           1
test___digital_multi_channel_writer___write_waveform_lines[library_init_kwargs-8-100-1]            37.6000 (1.72)        208.7000 (1.34)      40.3805 (1.75)       8.4225 (1.41)      39.1000 (1.75)     0.7000 (1.75)      261;697       24.7644 (0.57)       9026           1
test___digital_multi_channel_writer___write_waveform_port[library_init_kwargs-100]                 41.3000 (1.89)        216.9000 (1.39)      43.8554 (1.90)       7.8561 (1.32)      42.9000 (1.92)     0.7000 (1.75)      151;460       22.8022 (0.53)       7711           1
test___digital_multi_channel_writer___write_many_sample_port_uint32[library_init_kwargs-1]         49.5000 (2.27)        295.2000 (1.89)      53.5191 (2.32)      11.7005 (1.96)      51.5000 (2.30)     1.3000 (3.25)      205;326       18.6849 (0.43)       5459           1
test___digital_single_channel_writer___write_many_sample_port_uint32[library_init_kwargs-1]        49.8000 (2.28)        356.0000 (2.28)      57.4308 (2.49)      17.5698 (2.95)      52.0000 (2.32)     2.5000 (6.25)      426;559       17.4123 (0.40)       4836           1
test___digital_multi_channel_writer___write_many_sample_port_uint32[library_init_kwargs-100]       53.0000 (2.43)        200.7000 (1.29)      56.4667 (2.45)       9.4325 (1.58)      54.9000 (2.45)     0.8000 (2.00)      170;597       17.7095 (0.41)       6154           1
test___digital_single_channel_writer___write_many_sample_port_uint32[library_init_kwargs-100]      53.1000 (2.44)        358.6000 (2.30)      58.5491 (2.54)      13.1949 (2.22)      55.2000 (2.46)     2.1000 (5.25)      549;698       17.0797 (0.39)       8376           1
test___digital_multi_channel_writer___write_one_sample_multi_line[library_init_kwargs-1-1]         55.0000 (2.52)        381.2000 (2.45)      59.0443 (2.56)      11.1380 (1.87)      57.1000 (2.55)     1.7000 (4.25)      247;314       16.9364 (0.39)       5578           1
test___digital_single_channel_writer___write_one_sample_multi_line[library_init_kwargs-1]          55.9000 (2.56)        246.1000 (1.58)      59.0878 (2.56)      10.0299 (1.68)      57.7000 (2.58)     0.9000 (2.25)       57;159       16.9240 (0.39)       2341           1
test___digital_multi_channel_writer___write_one_sample_one_line[library_init_kwargs-1]             56.1000 (2.57)        376.5000 (2.42)      71.9393 (3.12)      32.8811 (5.52)      58.9000 (2.63)     5.7000 (14.25)     472;699       13.9006 (0.32)       3582           1
test___digital_multi_channel_writer___write_one_sample_multi_line[library_init_kwargs-8-1]         59.4000 (2.72)        264.9000 (1.70)      64.8427 (2.81)      13.5554 (2.28)      62.3000 (2.78)     1.2000 (3.00)      272;472       15.4219 (0.36)       6135           1
test___digital_single_channel_writer___write_one_sample_multi_line[library_init_kwargs-8]          59.8000 (2.74)        261.2000 (1.68)      64.1220 (2.78)      11.0198 (1.85)      62.2000 (2.78)     1.0000 (2.50)      205;420       15.5953 (0.36)       5400           1
test___digital_multi_channel_writer___write_one_sample_multi_line[library_init_kwargs-2-1]         60.3000 (2.77)        291.9000 (1.87)      64.2469 (2.78)      10.8781 (1.83)      62.3000 (2.78)     1.1000 (2.75)      234;557       15.5650 (0.36)       6010           1
test___digital_single_channel_writer___write_one_sample_multi_line[library_init_kwargs-2]          60.5000 (2.78)        351.7000 (2.26)      64.5659 (2.80)      11.3393 (1.90)      62.7000 (2.80)     1.2000 (3.00)      178;387       15.4881 (0.36)       5918           1
test___task___write_digital_port[library_init_kwargs-1]                                            62.6000 (2.87)        233.6000 (1.50)      67.1538 (2.91)      11.2316 (1.89)      64.8000 (2.89)     1.2000 (3.00)      267;419       14.8912 (0.34)       5064           1
test___task___write_digital_lines[library_init_kwargs-1-1-1]                                       63.3000 (2.90)        510.7000 (3.28)      68.2884 (2.96)      13.1373 (2.21)      66.3000 (2.96)     1.4000 (3.50)      150;273       14.6438 (0.34)       4222           1
test___task___write_digital_port[library_init_kwargs-100]                                          66.2000 (3.04)        333.8000 (2.14)      69.7805 (3.02)      10.8336 (1.82)      68.0000 (3.04)     1.6000 (4.00)      145;230       14.3307 (0.33)       5069           1
test___task___write_digital_lines[library_init_kwargs-1-100-1]                                     66.7000 (3.06)        282.9000 (1.82)      70.5172 (3.05)      10.0879 (1.69)      68.9000 (3.08)     1.2000 (3.00)      155;384       14.1809 (0.33)       5377           1
test___digital_multi_channel_writer___write_one_sample_one_line[library_init_kwargs-2]             67.9000 (3.11)        343.9000 (2.21)      73.8009 (3.20)      15.6647 (2.63)      70.3000 (3.14)     2.2000 (5.50)      251;455       13.5500 (0.31)       5233           1
test___digital_multi_channel_writer___write_one_sample_multi_line[library_init_kwargs-1-2]         68.3000 (3.13)        317.4000 (2.04)      73.5041 (3.18)      13.2114 (2.22)      70.6000 (3.15)     1.3000 (3.25)      327;551       13.6047 (0.31)       6025           1
test___task___write_digital_lines[library_init_kwargs-2-1-1]                                       68.6000 (3.15)        283.9000 (1.82)      74.9015 (3.24)      14.2603 (2.39)      72.0000 (3.21)     1.7000 (4.25)      193;512       13.3509 (0.31)       4834           1
test___task___write_digital_lines[library_init_kwargs-8-1-1]                                       69.7000 (3.20)     19,890.1000 (127.66)    79.2040 (3.43)     280.8940 (47.16)     72.9000 (3.25)     1.8000 (4.50)        2;479       12.6256 (0.29)       4988           1
test___digital_multi_channel_writer___write_one_sample_multi_line[library_init_kwargs-2-2]         70.4000 (3.23)        262.0000 (1.68)      75.3174 (3.26)      12.8353 (2.15)      73.1000 (3.26)     1.2000 (3.00)      174;434       13.2771 (0.31)       5163           1
test___digital_multi_channel_writer___write_one_sample_multi_line[library_init_kwargs-8-2]         71.0000 (3.26)        284.7000 (1.83)      78.1878 (3.39)      18.5661 (3.12)      74.0000 (3.30)     1.6000 (4.00)      261;515       12.7897 (0.30)       4922           1
test___task___write_digital_lines[library_init_kwargs-8-100-1]                                     72.3000 (3.32)        282.8000 (1.82)      77.4552 (3.35)      12.2940 (2.06)      75.5000 (3.37)     1.3000 (3.25)      145;312       12.9107 (0.30)       4634           1
test___task___write_digital_lines[library_init_kwargs-2-100-1]                                     73.3000 (3.36)        334.8000 (2.15)      77.8498 (3.37)      11.5497 (1.94)      76.1000 (3.40)     1.5000 (3.75)      155;349       12.8453 (0.30)       4929           1
test___task___write_digital_port_waveform[library_init_kwargs-1]                                   77.4000 (3.55)        251.2000 (1.61)      82.6315 (3.58)      13.8642 (2.33)      79.8000 (3.56)     1.7000 (4.25)      214;355       12.1019 (0.28)       4596           1
test___task___write_digital_lines_waveform[library_init_kwargs-1-1-1]                              78.4000 (3.60)        317.7000 (2.04)      83.8282 (3.63)      12.9071 (2.17)      81.3000 (3.63)     1.1000 (2.75)      203;531       11.9292 (0.28)       4521           1
test___task___write_digital_lines[library_init_kwargs-2-1-2]                                       79.3000 (3.64)        270.0000 (1.73)      84.9750 (3.68)      11.6357 (1.95)      83.0000 (3.71)     1.8000 (4.50)      209;501       11.7682 (0.27)       6021           1
test___task___write_digital_lines[library_init_kwargs-1-1-2]                                       80.1000 (3.67)        280.5000 (1.80)      85.3525 (3.70)      12.0005 (2.01)      83.1000 (3.71)     1.3000 (3.25)      207;516       11.7161 (0.27)       5365           1
test___task___write_digital_lines[library_init_kwargs-1-100-2]                                     80.5000 (3.69)        371.2000 (2.38)      88.5821 (3.84)      19.4251 (3.26)      85.5000 (3.82)     2.9000 (7.25)      192;319       11.2890 (0.26)       4473           1
test___task___write_digital_lines[library_init_kwargs-8-1-2]                                       81.1000 (3.72)        354.2000 (2.27)      88.2545 (3.82)      15.1087 (2.54)      85.5000 (3.82)     1.4000 (3.50)      150;595       11.3309 (0.26)       4119           1
test___task___write_digital_lines_waveform[library_init_kwargs-1-100-1]                            81.2000 (3.72)        252.0000 (1.62)      87.3406 (3.78)      13.8937 (2.33)      84.4000 (3.77)     2.0000 (5.00)      204;297       11.4494 (0.26)       4487           1
test___task___write_digital_lines[library_init_kwargs-8-100-2]                                     82.5000 (3.78)        261.9000 (1.68)      88.6126 (3.84)      13.2521 (2.22)      86.5000 (3.86)     1.7000 (4.25)      155;301       11.2851 (0.26)       4181           1
test___task___write_digital_lines[library_init_kwargs-2-100-2]                                     83.4000 (3.83)        383.3000 (2.46)      93.6495 (4.06)      21.9943 (3.69)      87.5000 (3.91)     3.3000 (8.25)      348;542       10.6781 (0.25)       4049           1
test___task___write_digital_lines_waveform[library_init_kwargs-2-1-1]                              84.0000 (3.85)        407.2000 (2.61)      88.7712 (3.84)      13.7334 (2.31)      86.2000 (3.85)     1.7000 (4.25)      157;278       11.2649 (0.26)       4471           1
test___task___write_digital_lines_waveform[library_init_kwargs-8-1-1]                              84.4000 (3.87)        322.0000 (2.07)      89.9892 (3.90)      15.0387 (2.52)      87.1000 (3.89)     1.6000 (4.00)      174;415       11.1124 (0.26)       4515           1
test___task___write_digital_port_waveform[library_init_kwargs-100]                                 84.6000 (3.88)        283.9000 (1.82)      90.7629 (3.93)      13.6422 (2.29)      88.2000 (3.94)     1.7000 (4.25)      249;396       11.0177 (0.25)       6689           1
test___task___write_digital_lines_waveform[library_init_kwargs-8-100-1]                            87.3000 (4.00)        290.3000 (1.86)      93.6595 (4.06)      13.6431 (2.29)      91.0000 (4.06)     1.7000 (4.25)      165;335       10.6770 (0.25)       4129           1
test___task___write_digital_lines_waveform[library_init_kwargs-2-100-1]                            87.9000 (4.03)        399.3000 (2.56)      99.0234 (4.29)      23.5131 (3.95)      92.4000 (4.13)     3.5000 (8.75)      362;646       10.0986 (0.23)       4525           1
test___task___write_digital_lines_waveform[library_init_kwargs-1-1-2]                              95.0000 (4.36)        406.2000 (2.61)     103.1989 (4.47)      14.8591 (2.49)     100.2000 (4.47)     3.1000 (7.75)      195;588        9.6900 (0.22)       5054           1
test___task___write_digital_lines_waveform[library_init_kwargs-1-100-2]                            95.7000 (4.39)        373.5000 (2.40)     103.5355 (4.48)      14.1580 (2.38)     100.6000 (4.49)     2.9000 (7.25)      114;599        9.6585 (0.22)       3719           1
test___task___write_digital_lines_waveform[library_init_kwargs-2-1-2]                              97.1000 (4.45)        332.6000 (2.13)     103.9701 (4.50)      18.3215 (3.08)      99.7000 (4.45)     1.9000 (4.75)      201;360        9.6181 (0.22)       3836           1
test___task___write_digital_lines_waveform[library_init_kwargs-8-1-2]                              98.6000 (4.52)        323.4000 (2.08)     104.4957 (4.53)      15.4516 (2.59)     101.3000 (4.52)     1.5000 (3.75)      144;401        9.5698 (0.22)       3826           1
test___task___write_digital_lines_waveform[library_init_kwargs-2-100-2]                            99.1000 (4.55)        328.0000 (2.11)     105.4478 (4.57)      14.4856 (2.43)     102.7000 (4.58)     1.8000 (4.50)      141;407        9.4834 (0.22)       4157           1
test___task___write_digital_lines_waveform[library_init_kwargs-8-100-2]                           102.1000 (4.68)        365.3000 (2.34)     110.2257 (4.77)      20.1563 (3.38)     105.2000 (4.70)     2.8000 (7.00)      181;456        9.0723 (0.21)       3678           1
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Legend:
  Outliers: 1 Standard Deviation from Mean; 1.5 IQR (InterQuartile Range) from 1st Quartile and 3rd Quartile.
  OPS: Operations Per Second, computed as 1 / Mean
215 passed, 215 deselected in 124.96s (0:02:04)
  py39-base-benchmark: OK (132.42=setup[0.17]+cmd[1.19,1.84,1.62,127.59] seconds)
  congratulations :) (132.47 seconds)

@mikeprosserni mikeprosserni marked this pull request as ready for review September 23, 2025 15:43
Copy link
Contributor

github-actions bot commented Sep 23, 2025

Test Results

    40 files  +    2      40 suites  +2   1h 6m 4s ⏱️ + 3m 17s
 3 092 tests +  215   2 435 ✅ +192     657 💤 +   23  0 ❌ ±0 
50 742 runs  +1 326  40 356 ✅ + 76  10 386 💤 +1 250  0 ❌ ±0 

Results for commit e9e4c9f. ± Comparison against base commit d81eccf.

♻️ This comment has been updated with latest results.

@mikeprosserni mikeprosserni merged commit 19e4c7f into master Sep 30, 2025
27 checks passed
@mikeprosserni mikeprosserni deleted the users/mprosser/task-3309084-waveform-benchmarks branch September 30, 2025 17:50
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.

3 participants