Skip to content

Pure Python SMB client benchmarking

Robin Wilson edited this page Apr 20, 2020 · 10 revisions

Using smbprotocol:

----------------------------------------------------------------------------------------------- benchmark: 4 tests --------------------------------------------------------------------
--------------------------
Name (time in ms)                     Min                    Max                   Mean              StdDev                 Median                 IQR            Outliers      OPS
        Rounds  Iterations
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
test_mkdir                        26.6919 (1.0)          46.3328 (1.0)          29.9501 (1.0)        3.1893 (1.0)          29.5864 (1.0)        2.6962 (1.0)           2;1  33.3889 (1.0)          36           1
test_short_string_write           36.6697 (1.37)         91.3649 (1.97)         55.1725 (1.84)      19.3100 (6.05)         42.6457 (1.44)      31.6610 (11.74)         3;0  18.1250 (0.54)         19           1
test_copy_larger_file            935.5827 (35.05)     1,665.0909 (35.94)     1,179.8379 (39.39)    209.5336 (65.70)     1,158.5555 (39.16)    109.0847 (40.46)         3;1   0.8476 (0.03)         10           1
test_copy_very_large_file     10,270.0796 (384.76)   10,988.2857 (237.16)   10,676.7195 (356.48)   205.3994 (64.40)    10,724.5073 (362.48)   240.6857 (89.27)         3;0   0.0937 (0.00)         10           1
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Using pysmb:

--------------------------------------------------------------------------------------------- benchmark: 3 tests --------------------------------------------------------------------------------------------
Name (time in ms)                    Min                   Max                  Mean              StdDev                Median                 IQR            Outliers      OPS    Rounds  Iterations
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
test_short_string_write          30.7420 (1.0)         80.7924 (1.0)         43.7129 (1.0)       13.1190 (1.0)         41.5045 (1.0)       11.4453 (1.0)           3;2  22.8765 (1.0)        17           1
test_copy_larger_file           845.4560 (27.50)      980.0222 (12.13)      894.2136 (20.46)     42.2219 (3.22)       876.1998 (21.11)     53.6339 (4.69)          2;0   1.1183 (0.05)        10           1
test_copy_very_large_file     7,957.6078 (258.85)   9,354.0760 (115.78)   8,608.0208 (196.92)   489.7915 (37.33)    8,670.2460 (208.90)   902.6466 (78.87)         4;0   0.1162 (0.01)        10           1
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Using a mapped drive (ie. not a pure-Python solution):

------------------------------------------------------------------------------------------------- benchmark: 4 tests -------------------------------------------------------------------------------------------------
Name (time in ms)                     Min                    Max                   Mean                StdDev                 Median                    IQR            Outliers      OPS            Rounds  Iterations
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
test_short_string_write           16.7014 (1.0)          21.4578 (1.0)          18.4363 (1.0)          1.1071 (1.0)          18.4308 (1.0)           1.2456 (1.0)           9;2  54.2408 (1.0)          35           1
test_mkdir                        17.3022 (1.04)         84.2097 (3.92)         27.2523 (1.48)        12.5868 (11.37)        23.2646 (1.26)          3.7816 (3.04)          4;7  36.6941 (0.68)         58           1
test_copy_larger_file          1,399.7678 (83.81)     2,827.1930 (131.76)    1,788.6201 (97.02)      399.8889 (361.20)    1,766.5214 (95.85)       324.8020 (260.76)        1;1   0.5591 (0.01)         10           1
test_copy_very_large_file     12,427.0299 (744.07)   27,758.3489 (>1000.0)  18,145.4980 (984.23)   6,033.7927 (>1000.0)  15,850.3429 (859.99)   10,450.3625 (>1000.0)       2;0   0.0551 (0.00)         10           1
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------