labath added a comment. These are the results before and after applying this change (on linux): Before:
(lldb) process plugin packet speed-test Testing sending 1000 packets of various sizes: qSpeedTest(send=0 , recv=0 ) in 0.057456000 sec for 17404.62 packets/sec ( 0.057456 ms per packet) with standard deviation of 0.012368 ms qSpeedTest(send=0 , recv=4 ) in 0.048495000 sec for 20620.68 packets/sec ( 0.048495 ms per packet) with standard deviation of 0.002189 ms qSpeedTest(send=0 , recv=8 ) in 0.048270000 sec for 20716.80 packets/sec ( 0.048270 ms per packet) with standard deviation of 0.001979 ms qSpeedTest(send=0 , recv=16 ) in 0.048686000 sec for 20539.79 packets/sec ( 0.048686 ms per packet) with standard deviation of 0.001992 ms qSpeedTest(send=0 , recv=32 ) in 0.050556000 sec for 19780.04 packets/sec ( 0.050556 ms per packet) with standard deviation of 0.005152 ms qSpeedTest(send=0 , recv=64 ) in 0.051095000 sec for 19571.39 packets/sec ( 0.051095 ms per packet) with standard deviation of 0.004969 ms qSpeedTest(send=0 , recv=128 ) in 0.056365000 sec for 17741.51 packets/sec ( 0.056365 ms per packet) with standard deviation of 0.007733 ms qSpeedTest(send=0 , recv=256 ) in 0.061426000 sec for 16279.75 packets/sec ( 0.061426 ms per packet) with standard deviation of 0.003777 ms qSpeedTest(send=0 , recv=512 ) in 0.065135000 sec for 15352.73 packets/sec ( 0.065135 ms per packet) with standard deviation of 0.003205 ms qSpeedTest(send=0 , recv=1024 ) in 0.070767000 sec for 14130.88 packets/sec ( 0.070767 ms per packet) with standard deviation of 0.005090 ms qSpeedTest(send=4 , recv=0 ) in 0.053847000 sec for 18571.14 packets/sec ( 0.053847 ms per packet) with standard deviation of 0.003236 ms qSpeedTest(send=4 , recv=4 ) in 0.054817000 sec for 18242.52 packets/sec ( 0.054817 ms per packet) with standard deviation of 0.002795 ms qSpeedTest(send=4 , recv=8 ) in 0.054378000 sec for 18389.79 packets/sec ( 0.054378 ms per packet) with standard deviation of 0.002432 ms qSpeedTest(send=4 , recv=16 ) in 0.054126000 sec for 18475.41 packets/sec ( 0.054126 ms per packet) with standard deviation of 0.005307 ms qSpeedTest(send=4 , recv=32 ) in 0.047904000 sec for 20875.08 packets/sec ( 0.047904 ms per packet) with standard deviation of 0.003132 ms qSpeedTest(send=4 , recv=64 ) in 0.051456000 sec for 19434.08 packets/sec ( 0.051456 ms per packet) with standard deviation of 0.004501 ms qSpeedTest(send=4 , recv=128 ) in 0.054608000 sec for 18312.34 packets/sec ( 0.054608 ms per packet) with standard deviation of 0.003507 ms qSpeedTest(send=4 , recv=256 ) in 0.054924000 sec for 18206.98 packets/sec ( 0.054924 ms per packet) with standard deviation of 0.005625 ms qSpeedTest(send=4 , recv=512 ) in 0.064180000 sec for 15581.18 packets/sec ( 0.064180 ms per packet) with standard deviation of 0.005875 ms qSpeedTest(send=4 , recv=1024 ) in 0.068276000 sec for 14646.44 packets/sec ( 0.068276 ms per packet) with standard deviation of 0.003039 ms qSpeedTest(send=8 , recv=0 ) in 0.053046000 sec for 18851.56 packets/sec ( 0.053046 ms per packet) with standard deviation of 0.003500 ms qSpeedTest(send=8 , recv=4 ) in 0.054089000 sec for 18488.05 packets/sec ( 0.054089 ms per packet) with standard deviation of 0.006284 ms qSpeedTest(send=8 , recv=8 ) in 0.049932000 sec for 20027.24 packets/sec ( 0.049932 ms per packet) with standard deviation of 0.004150 ms qSpeedTest(send=8 , recv=16 ) in 0.058777000 sec for 17013.46 packets/sec ( 0.058777 ms per packet) with standard deviation of 0.008652 ms qSpeedTest(send=8 , recv=32 ) in 0.051253000 sec for 19511.05 packets/sec ( 0.051253 ms per packet) with standard deviation of 0.008256 ms qSpeedTest(send=8 , recv=64 ) in 0.052551000 sec for 19029.13 packets/sec ( 0.052551 ms per packet) with standard deviation of 0.006581 ms qSpeedTest(send=8 , recv=128 ) in 0.049986000 sec for 20005.60 packets/sec ( 0.049986 ms per packet) with standard deviation of 0.005448 ms qSpeedTest(send=8 , recv=256 ) in 0.054557000 sec for 18329.46 packets/sec ( 0.054557 ms per packet) with standard deviation of 0.006423 ms qSpeedTest(send=8 , recv=512 ) in 0.052093000 sec for 19196.44 packets/sec ( 0.052093 ms per packet) with standard deviation of 0.002142 ms qSpeedTest(send=8 , recv=1024 ) in 0.057268000 sec for 17461.76 packets/sec ( 0.057268 ms per packet) with standard deviation of 0.001820 ms qSpeedTest(send=16 , recv=0 ) in 0.044685000 sec for 22378.87 packets/sec ( 0.044685 ms per packet) with standard deviation of 0.001565 ms qSpeedTest(send=16 , recv=4 ) in 0.045271000 sec for 22089.20 packets/sec ( 0.045271 ms per packet) with standard deviation of 0.001261 ms qSpeedTest(send=16 , recv=8 ) in 0.050808000 sec for 19681.94 packets/sec ( 0.050808 ms per packet) with standard deviation of 0.007900 ms qSpeedTest(send=16 , recv=16 ) in 0.051924000 sec for 19258.92 packets/sec ( 0.051924 ms per packet) with standard deviation of 0.005277 ms qSpeedTest(send=16 , recv=32 ) in 0.049635000 sec for 20147.07 packets/sec ( 0.049635 ms per packet) with standard deviation of 0.001714 ms qSpeedTest(send=16 , recv=64 ) in 0.049719000 sec for 20113.04 packets/sec ( 0.049719 ms per packet) with standard deviation of 0.001488 ms qSpeedTest(send=16 , recv=128 ) in 0.051774000 sec for 19314.71 packets/sec ( 0.051774 ms per packet) with standard deviation of 0.002255 ms qSpeedTest(send=16 , recv=256 ) in 0.053197000 sec for 18798.05 packets/sec ( 0.053197 ms per packet) with standard deviation of 0.001695 ms qSpeedTest(send=16 , recv=512 ) in 0.058951000 sec for 16963.24 packets/sec ( 0.058951 ms per packet) with standard deviation of 0.005022 ms qSpeedTest(send=16 , recv=1024 ) in 0.061830000 sec for 16173.38 packets/sec ( 0.061830 ms per packet) with standard deviation of 0.002527 ms qSpeedTest(send=32 , recv=0 ) in 0.047818000 sec for 20912.63 packets/sec ( 0.047818 ms per packet) with standard deviation of 0.002138 ms qSpeedTest(send=32 , recv=4 ) in 0.048937000 sec for 20434.44 packets/sec ( 0.048937 ms per packet) with standard deviation of 0.002160 ms qSpeedTest(send=32 , recv=8 ) in 0.049310000 sec for 20279.86 packets/sec ( 0.049310 ms per packet) with standard deviation of 0.001967 ms qSpeedTest(send=32 , recv=16 ) in 0.049303000 sec for 20282.74 packets/sec ( 0.049303 ms per packet) with standard deviation of 0.001901 ms qSpeedTest(send=32 , recv=32 ) in 0.048884000 sec for 20456.59 packets/sec ( 0.048884 ms per packet) with standard deviation of 0.002039 ms qSpeedTest(send=32 , recv=64 ) in 0.049960000 sec for 20016.01 packets/sec ( 0.049960 ms per packet) with standard deviation of 0.002190 ms qSpeedTest(send=32 , recv=128 ) in 0.051732000 sec for 19330.39 packets/sec ( 0.051732 ms per packet) with standard deviation of 0.002192 ms qSpeedTest(send=32 , recv=256 ) in 0.053717000 sec for 18616.08 packets/sec ( 0.053717 ms per packet) with standard deviation of 0.002260 ms qSpeedTest(send=32 , recv=512 ) in 0.056674000 sec for 17644.78 packets/sec ( 0.056674 ms per packet) with standard deviation of 0.002280 ms qSpeedTest(send=32 , recv=1024 ) in 0.061923000 sec for 16149.09 packets/sec ( 0.061923 ms per packet) with standard deviation of 0.002552 ms qSpeedTest(send=64 , recv=0 ) in 0.048675000 sec for 20544.43 packets/sec ( 0.048675 ms per packet) with standard deviation of 0.002477 ms qSpeedTest(send=64 , recv=4 ) in 0.050288000 sec for 19885.46 packets/sec ( 0.050288 ms per packet) with standard deviation of 0.004986 ms qSpeedTest(send=64 , recv=8 ) in 0.049818000 sec for 20073.07 packets/sec ( 0.049818 ms per packet) with standard deviation of 0.001913 ms qSpeedTest(send=64 , recv=16 ) in 0.049816000 sec for 20073.87 packets/sec ( 0.049816 ms per packet) with standard deviation of 0.001994 ms qSpeedTest(send=64 , recv=32 ) in 0.049917000 sec for 20033.26 packets/sec ( 0.049917 ms per packet) with standard deviation of 0.002194 ms qSpeedTest(send=64 , recv=64 ) in 0.050215000 sec for 19914.37 packets/sec ( 0.050215 ms per packet) with standard deviation of 0.002086 ms qSpeedTest(send=64 , recv=128 ) in 0.051921000 sec for 19260.03 packets/sec ( 0.051921 ms per packet) with standard deviation of 0.002006 ms qSpeedTest(send=64 , recv=256 ) in 0.053772000 sec for 18597.04 packets/sec ( 0.053772 ms per packet) with standard deviation of 0.002288 ms qSpeedTest(send=64 , recv=512 ) in 0.056476000 sec for 17706.64 packets/sec ( 0.056476 ms per packet) with standard deviation of 0.002386 ms qSpeedTest(send=64 , recv=1024 ) in 0.063685000 sec for 15702.28 packets/sec ( 0.063685 ms per packet) with standard deviation of 0.005601 ms qSpeedTest(send=128 , recv=0 ) in 0.050048000 sec for 19980.82 packets/sec ( 0.050048 ms per packet) with standard deviation of 0.003461 ms qSpeedTest(send=128 , recv=4 ) in 0.050134000 sec for 19946.54 packets/sec ( 0.050134 ms per packet) with standard deviation of 0.002229 ms qSpeedTest(send=128 , recv=8 ) in 0.056629000 sec for 17658.80 packets/sec ( 0.056629 ms per packet) with standard deviation of 0.008926 ms qSpeedTest(send=128 , recv=16 ) in 0.053294000 sec for 18763.84 packets/sec ( 0.053294 ms per packet) with standard deviation of 0.007024 ms qSpeedTest(send=128 , recv=32 ) in 0.053769000 sec for 18598.08 packets/sec ( 0.053769 ms per packet) with standard deviation of 0.003904 ms qSpeedTest(send=128 , recv=64 ) in 0.053158000 sec for 18811.84 packets/sec ( 0.053158 ms per packet) with standard deviation of 0.004076 ms qSpeedTest(send=128 , recv=128 ) in 0.054059000 sec for 18498.31 packets/sec ( 0.054059 ms per packet) with standard deviation of 0.004584 ms qSpeedTest(send=128 , recv=256 ) in 0.055685000 sec for 17958.16 packets/sec ( 0.055685 ms per packet) with standard deviation of 0.004079 ms qSpeedTest(send=128 , recv=512 ) in 0.058741000 sec for 17023.88 packets/sec ( 0.058741 ms per packet) with standard deviation of 0.004337 ms qSpeedTest(send=128 , recv=1024 ) in 0.067375000 sec for 14842.30 packets/sec ( 0.067375 ms per packet) with standard deviation of 0.003557 ms qSpeedTest(send=256 , recv=0 ) in 0.050108000 sec for 19956.89 packets/sec ( 0.050108 ms per packet) with standard deviation of 0.003281 ms qSpeedTest(send=256 , recv=4 ) in 0.051799000 sec for 19305.39 packets/sec ( 0.051799 ms per packet) with standard deviation of 0.003626 ms qSpeedTest(send=256 , recv=8 ) in 0.052719000 sec for 18968.49 packets/sec ( 0.052719 ms per packet) with standard deviation of 0.004331 ms qSpeedTest(send=256 , recv=16 ) in 0.052387000 sec for 19088.71 packets/sec ( 0.052387 ms per packet) with standard deviation of 0.004896 ms qSpeedTest(send=256 , recv=32 ) in 0.052822000 sec for 18931.51 packets/sec ( 0.052822 ms per packet) with standard deviation of 0.005342 ms qSpeedTest(send=256 , recv=64 ) in 0.059212000 sec for 16888.47 packets/sec ( 0.059212 ms per packet) with standard deviation of 0.007692 ms qSpeedTest(send=256 , recv=128 ) in 0.055576000 sec for 17993.38 packets/sec ( 0.055576 ms per packet) with standard deviation of 0.004692 ms qSpeedTest(send=256 , recv=256 ) in 0.062278000 sec for 16057.03 packets/sec ( 0.062278 ms per packet) with standard deviation of 0.006579 ms qSpeedTest(send=256 , recv=512 ) in 0.065064000 sec for 15369.48 packets/sec ( 0.065064 ms per packet) with standard deviation of 0.003246 ms qSpeedTest(send=256 , recv=1024 ) in 0.070101000 sec for 14265.13 packets/sec ( 0.070101 ms per packet) with standard deviation of 0.002870 ms qSpeedTest(send=512 , recv=0 ) in 0.055987000 sec for 17861.29 packets/sec ( 0.055987 ms per packet) with standard deviation of 0.007052 ms qSpeedTest(send=512 , recv=4 ) in 0.050394000 sec for 19843.63 packets/sec ( 0.050394 ms per packet) with standard deviation of 0.002432 ms qSpeedTest(send=512 , recv=8 ) in 0.050362000 sec for 19856.24 packets/sec ( 0.050362 ms per packet) with standard deviation of 0.001982 ms qSpeedTest(send=512 , recv=16 ) in 0.050612000 sec for 19758.16 packets/sec ( 0.050612 ms per packet) with standard deviation of 0.001977 ms qSpeedTest(send=512 , recv=32 ) in 0.050446000 sec for 19823.18 packets/sec ( 0.050446 ms per packet) with standard deviation of 0.001591 ms qSpeedTest(send=512 , recv=64 ) in 0.050786000 sec for 19690.46 packets/sec ( 0.050786 ms per packet) with standard deviation of 0.001496 ms qSpeedTest(send=512 , recv=128 ) in 0.052420000 sec for 19076.69 packets/sec ( 0.052420 ms per packet) with standard deviation of 0.001954 ms qSpeedTest(send=512 , recv=256 ) in 0.053425000 sec for 18717.83 packets/sec ( 0.053425 ms per packet) with standard deviation of 0.002012 ms qSpeedTest(send=512 , recv=512 ) in 0.058670000 sec for 17044.49 packets/sec ( 0.058670 ms per packet) with standard deviation of 0.004880 ms qSpeedTest(send=512 , recv=1024 ) in 0.062009000 sec for 16126.69 packets/sec ( 0.062009 ms per packet) with standard deviation of 0.001987 ms qSpeedTest(send=1024 , recv=0 ) in 0.053092000 sec for 18835.23 packets/sec ( 0.053092 ms per packet) with standard deviation of 0.003347 ms qSpeedTest(send=1024 , recv=4 ) in 0.054213000 sec for 18445.76 packets/sec ( 0.054213 ms per packet) with standard deviation of 0.001928 ms qSpeedTest(send=1024 , recv=8 ) in 0.053599000 sec for 18657.06 packets/sec ( 0.053599 ms per packet) with standard deviation of 0.002024 ms qSpeedTest(send=1024 , recv=16 ) in 0.056705000 sec for 17635.13 packets/sec ( 0.056705 ms per packet) with standard deviation of 0.005067 ms qSpeedTest(send=1024 , recv=32 ) in 0.056331000 sec for 17752.21 packets/sec ( 0.056331 ms per packet) with standard deviation of 0.005956 ms qSpeedTest(send=1024 , recv=64 ) in 0.060983000 sec for 16398.01 packets/sec ( 0.060983 ms per packet) with standard deviation of 0.009666 ms qSpeedTest(send=1024 , recv=128 ) in 0.052064000 sec for 19207.13 packets/sec ( 0.052064 ms per packet) with standard deviation of 0.002793 ms qSpeedTest(send=1024 , recv=256 ) in 0.057106000 sec for 17511.29 packets/sec ( 0.057106 ms per packet) with standard deviation of 0.002904 ms qSpeedTest(send=1024 , recv=512 ) in 0.073955000 sec for 13521.74 packets/sec ( 0.073955 ms per packet) with standard deviation of 0.013739 ms qSpeedTest(send=1024 , recv=1024 ) in 0.074225000 sec for 13472.55 packets/sec ( 0.074225 ms per packet) with standard deviation of 0.015451 ms Testing receiving 4.0MB of data using varying receive packet sizes: qSpeedTest(send=0 , recv=32 ) 131072 packets needed to receive 4.0MB in 6.696583000 sec for 0.597320 MB/sec for 19572.97 packets/sec ( 0.051091 ms per packet) qSpeedTest(send=0 , recv=64 ) 65536 packets needed to receive 4.0MB in 3.230414000 sec for 1.238231 MB/sec for 20287.18 packets/sec ( 0.049292 ms per packet) qSpeedTest(send=0 , recv=128 ) 32768 packets needed to receive 4.0MB in 1.686612000 sec for 2.371619 MB/sec for 19428.30 packets/sec ( 0.051471 ms per packet) qSpeedTest(send=0 , recv=256 ) 16384 packets needed to receive 4.0MB in 0.845153000 sec for 4.732871 MB/sec for 19385.84 packets/sec ( 0.051584 ms per packet) qSpeedTest(send=0 , recv=512 ) 8192 packets needed to receive 4.0MB in 0.421588000 sec for 9.487936 MB/sec for 19431.29 packets/sec ( 0.051463 ms per packet) qSpeedTest(send=0 , recv=1024 ) 4096 packets needed to receive 4.0MB in 0.232212000 sec for 17.225637 MB/sec for 17639.05 packets/sec ( 0.056692 ms per packet) After: (lldb) process plugin packet speed-test Testing sending 1000 packets of various sizes: qSpeedTest(send=0 , recv=0 ) in 0.047088000 sec for 21236.83 packets/sec ( 0.047088 ms per packet) with standard deviation of 0.006629 ms qSpeedTest(send=0 , recv=4 ) in 0.045426000 sec for 22013.82 packets/sec ( 0.045426 ms per packet) with standard deviation of 0.001687 ms qSpeedTest(send=0 , recv=8 ) in 0.045206000 sec for 22120.96 packets/sec ( 0.045206 ms per packet) with standard deviation of 0.001241 ms qSpeedTest(send=0 , recv=16 ) in 0.045476000 sec for 21989.62 packets/sec ( 0.045476 ms per packet) with standard deviation of 0.001294 ms qSpeedTest(send=0 , recv=32 ) in 0.045909000 sec for 21782.22 packets/sec ( 0.045909 ms per packet) with standard deviation of 0.001929 ms qSpeedTest(send=0 , recv=64 ) in 0.046741000 sec for 21394.49 packets/sec ( 0.046741 ms per packet) with standard deviation of 0.001344 ms qSpeedTest(send=0 , recv=128 ) in 0.048040000 sec for 20815.99 packets/sec ( 0.048040 ms per packet) with standard deviation of 0.001184 ms qSpeedTest(send=0 , recv=256 ) in 0.049685000 sec for 20126.80 packets/sec ( 0.049685 ms per packet) with standard deviation of 0.001366 ms qSpeedTest(send=0 , recv=512 ) in 0.052725000 sec for 18966.34 packets/sec ( 0.052725 ms per packet) with standard deviation of 0.001989 ms qSpeedTest(send=0 , recv=1024 ) in 0.059048000 sec for 16935.38 packets/sec ( 0.059048 ms per packet) with standard deviation of 0.001811 ms qSpeedTest(send=4 , recv=0 ) in 0.044740000 sec for 22351.36 packets/sec ( 0.044740 ms per packet) with standard deviation of 0.001847 ms qSpeedTest(send=4 , recv=4 ) in 0.045536000 sec for 21960.65 packets/sec ( 0.045536 ms per packet) with standard deviation of 0.001471 ms qSpeedTest(send=4 , recv=8 ) in 0.045569000 sec for 21944.74 packets/sec ( 0.045569 ms per packet) with standard deviation of 0.001264 ms qSpeedTest(send=4 , recv=16 ) in 0.045332000 sec for 22059.47 packets/sec ( 0.045332 ms per packet) with standard deviation of 0.001097 ms qSpeedTest(send=4 , recv=32 ) in 0.046639000 sec for 21441.28 packets/sec ( 0.046639 ms per packet) with standard deviation of 0.004458 ms qSpeedTest(send=4 , recv=64 ) in 0.050692000 sec for 19726.98 packets/sec ( 0.050692 ms per packet) with standard deviation of 0.003364 ms qSpeedTest(send=4 , recv=128 ) in 0.050537000 sec for 19787.48 packets/sec ( 0.050537 ms per packet) with standard deviation of 0.001669 ms qSpeedTest(send=4 , recv=256 ) in 0.052030000 sec for 19219.68 packets/sec ( 0.052030 ms per packet) with standard deviation of 0.001357 ms qSpeedTest(send=4 , recv=512 ) in 0.057476000 sec for 17398.57 packets/sec ( 0.057476 ms per packet) with standard deviation of 0.005383 ms qSpeedTest(send=4 , recv=1024 ) in 0.062974000 sec for 15879.57 packets/sec ( 0.062974 ms per packet) with standard deviation of 0.006826 ms qSpeedTest(send=8 , recv=0 ) in 0.048881000 sec for 20457.85 packets/sec ( 0.048881 ms per packet) with standard deviation of 0.007901 ms qSpeedTest(send=8 , recv=4 ) in 0.049233000 sec for 20311.58 packets/sec ( 0.049233 ms per packet) with standard deviation of 0.006031 ms qSpeedTest(send=8 , recv=8 ) in 0.049758000 sec for 20097.27 packets/sec ( 0.049758 ms per packet) with standard deviation of 0.007929 ms qSpeedTest(send=8 , recv=16 ) in 0.049089000 sec for 20371.16 packets/sec ( 0.049089 ms per packet) with standard deviation of 0.006375 ms qSpeedTest(send=8 , recv=32 ) in 0.050110000 sec for 19956.10 packets/sec ( 0.050110 ms per packet) with standard deviation of 0.008473 ms qSpeedTest(send=8 , recv=64 ) in 0.050779000 sec for 19693.18 packets/sec ( 0.050779 ms per packet) with standard deviation of 0.005380 ms qSpeedTest(send=8 , recv=128 ) in 0.053557000 sec for 18671.70 packets/sec ( 0.053557 ms per packet) with standard deviation of 0.008242 ms qSpeedTest(send=8 , recv=256 ) in 0.054547000 sec for 18332.81 packets/sec ( 0.054547 ms per packet) with standard deviation of 0.007676 ms qSpeedTest(send=8 , recv=512 ) in 0.058448000 sec for 17109.22 packets/sec ( 0.058448 ms per packet) with standard deviation of 0.009949 ms qSpeedTest(send=8 , recv=1024 ) in 0.064296000 sec for 15553.07 packets/sec ( 0.064296 ms per packet) with standard deviation of 0.007377 ms qSpeedTest(send=16 , recv=0 ) in 0.047807000 sec for 20917.44 packets/sec ( 0.047807 ms per packet) with standard deviation of 0.008033 ms qSpeedTest(send=16 , recv=4 ) in 0.047000000 sec for 21276.60 packets/sec ( 0.047000 ms per packet) with standard deviation of 0.005585 ms qSpeedTest(send=16 , recv=8 ) in 0.047780000 sec for 20929.26 packets/sec ( 0.047780 ms per packet) with standard deviation of 0.006055 ms qSpeedTest(send=16 , recv=16 ) in 0.048940000 sec for 20433.18 packets/sec ( 0.048940 ms per packet) with standard deviation of 0.007877 ms qSpeedTest(send=16 , recv=32 ) in 0.048452000 sec for 20638.98 packets/sec ( 0.048452 ms per packet) with standard deviation of 0.006351 ms qSpeedTest(send=16 , recv=64 ) in 0.053125000 sec for 18823.53 packets/sec ( 0.053125 ms per packet) with standard deviation of 0.007059 ms qSpeedTest(send=16 , recv=128 ) in 0.054247000 sec for 18434.20 packets/sec ( 0.054247 ms per packet) with standard deviation of 0.006543 ms qSpeedTest(send=16 , recv=256 ) in 0.050342000 sec for 19864.13 packets/sec ( 0.050342 ms per packet) with standard deviation of 0.003944 ms qSpeedTest(send=16 , recv=512 ) in 0.056098000 sec for 17825.95 packets/sec ( 0.056098 ms per packet) with standard deviation of 0.004119 ms qSpeedTest(send=16 , recv=1024 ) in 0.058348000 sec for 17138.55 packets/sec ( 0.058348 ms per packet) with standard deviation of 0.002004 ms qSpeedTest(send=32 , recv=0 ) in 0.044705000 sec for 22368.86 packets/sec ( 0.044705 ms per packet) with standard deviation of 0.003299 ms qSpeedTest(send=32 , recv=4 ) in 0.046046000 sec for 21717.41 packets/sec ( 0.046046 ms per packet) with standard deviation of 0.001855 ms qSpeedTest(send=32 , recv=8 ) in 0.045633000 sec for 21913.96 packets/sec ( 0.045633 ms per packet) with standard deviation of 0.001534 ms qSpeedTest(send=32 , recv=16 ) in 0.045522000 sec for 21967.40 packets/sec ( 0.045522 ms per packet) with standard deviation of 0.001016 ms qSpeedTest(send=32 , recv=32 ) in 0.046046000 sec for 21717.41 packets/sec ( 0.046046 ms per packet) with standard deviation of 0.001172 ms qSpeedTest(send=32 , recv=64 ) in 0.046843000 sec for 21347.91 packets/sec ( 0.046843 ms per packet) with standard deviation of 0.001441 ms qSpeedTest(send=32 , recv=128 ) in 0.047837000 sec for 20904.32 packets/sec ( 0.047837 ms per packet) with standard deviation of 0.001571 ms qSpeedTest(send=32 , recv=256 ) in 0.049504000 sec for 20200.39 packets/sec ( 0.049504 ms per packet) with standard deviation of 0.001091 ms qSpeedTest(send=32 , recv=512 ) in 0.052681000 sec for 18982.18 packets/sec ( 0.052681 ms per packet) with standard deviation of 0.001701 ms qSpeedTest(send=32 , recv=1024 ) in 0.058205000 sec for 17180.65 packets/sec ( 0.058205 ms per packet) with standard deviation of 0.002028 ms qSpeedTest(send=64 , recv=0 ) in 0.045595000 sec for 21932.23 packets/sec ( 0.045595 ms per packet) with standard deviation of 0.001447 ms qSpeedTest(send=64 , recv=4 ) in 0.048343000 sec for 20685.52 packets/sec ( 0.048343 ms per packet) with standard deviation of 0.004192 ms qSpeedTest(send=64 , recv=8 ) in 0.052826000 sec for 18930.07 packets/sec ( 0.052826 ms per packet) with standard deviation of 0.006674 ms qSpeedTest(send=64 , recv=16 ) in 0.053331000 sec for 18750.82 packets/sec ( 0.053331 ms per packet) with standard deviation of 0.006791 ms qSpeedTest(send=64 , recv=32 ) in 0.053790000 sec for 18590.82 packets/sec ( 0.053790 ms per packet) with standard deviation of 0.005458 ms qSpeedTest(send=64 , recv=64 ) in 0.049696000 sec for 20122.34 packets/sec ( 0.049696 ms per packet) with standard deviation of 0.002810 ms qSpeedTest(send=64 , recv=128 ) in 0.050803000 sec for 19683.88 packets/sec ( 0.050803 ms per packet) with standard deviation of 0.001376 ms qSpeedTest(send=64 , recv=256 ) in 0.052227000 sec for 19147.18 packets/sec ( 0.052227 ms per packet) with standard deviation of 0.001451 ms qSpeedTest(send=64 , recv=512 ) in 0.056122000 sec for 17818.32 packets/sec ( 0.056122 ms per packet) with standard deviation of 0.002323 ms qSpeedTest(send=64 , recv=1024 ) in 0.061925000 sec for 16148.57 packets/sec ( 0.061925 ms per packet) with standard deviation of 0.002727 ms qSpeedTest(send=128 , recv=0 ) in 0.048665000 sec for 20548.65 packets/sec ( 0.048665 ms per packet) with standard deviation of 0.002070 ms qSpeedTest(send=128 , recv=4 ) in 0.049676000 sec for 20130.45 packets/sec ( 0.049676 ms per packet) with standard deviation of 0.001542 ms qSpeedTest(send=128 , recv=8 ) in 0.049602000 sec for 20160.48 packets/sec ( 0.049602 ms per packet) with standard deviation of 0.001353 ms qSpeedTest(send=128 , recv=16 ) in 0.049804000 sec for 20078.71 packets/sec ( 0.049804 ms per packet) with standard deviation of 0.001733 ms qSpeedTest(send=128 , recv=32 ) in 0.050268000 sec for 19893.37 packets/sec ( 0.050268 ms per packet) with standard deviation of 0.001648 ms qSpeedTest(send=128 , recv=64 ) in 0.050944000 sec for 19629.40 packets/sec ( 0.050944 ms per packet) with standard deviation of 0.001650 ms qSpeedTest(send=128 , recv=128 ) in 0.052144000 sec for 19177.66 packets/sec ( 0.052144 ms per packet) with standard deviation of 0.001757 ms qSpeedTest(send=128 , recv=256 ) in 0.053151000 sec for 18814.32 packets/sec ( 0.053151 ms per packet) with standard deviation of 0.008508 ms qSpeedTest(send=128 , recv=512 ) in 0.056988000 sec for 17547.55 packets/sec ( 0.056988 ms per packet) with standard deviation of 0.002518 ms qSpeedTest(send=128 , recv=1024 ) in 0.062617000 sec for 15970.10 packets/sec ( 0.062617 ms per packet) with standard deviation of 0.002400 ms qSpeedTest(send=256 , recv=0 ) in 0.049461000 sec for 20217.95 packets/sec ( 0.049461 ms per packet) with standard deviation of 0.001476 ms qSpeedTest(send=256 , recv=4 ) in 0.050928000 sec for 19635.56 packets/sec ( 0.050928 ms per packet) with standard deviation of 0.001747 ms qSpeedTest(send=256 , recv=8 ) in 0.050779000 sec for 19693.18 packets/sec ( 0.050779 ms per packet) with standard deviation of 0.001450 ms qSpeedTest(send=256 , recv=16 ) in 0.050916000 sec for 19640.19 packets/sec ( 0.050916 ms per packet) with standard deviation of 0.002230 ms qSpeedTest(send=256 , recv=32 ) in 0.051062000 sec for 19584.04 packets/sec ( 0.051062 ms per packet) with standard deviation of 0.001511 ms qSpeedTest(send=256 , recv=64 ) in 0.052163000 sec for 19170.68 packets/sec ( 0.052163 ms per packet) with standard deviation of 0.001650 ms qSpeedTest(send=256 , recv=128 ) in 0.053406000 sec for 18724.49 packets/sec ( 0.053406 ms per packet) with standard deviation of 0.001675 ms qSpeedTest(send=256 , recv=256 ) in 0.055275000 sec for 18091.36 packets/sec ( 0.055275 ms per packet) with standard deviation of 0.006017 ms qSpeedTest(send=256 , recv=512 ) in 0.058381000 sec for 17128.86 packets/sec ( 0.058381 ms per packet) with standard deviation of 0.006529 ms qSpeedTest(send=256 , recv=1024 ) in 0.062474000 sec for 16006.66 packets/sec ( 0.062474 ms per packet) with standard deviation of 0.002550 ms qSpeedTest(send=512 , recv=0 ) in 0.050066000 sec for 19973.63 packets/sec ( 0.050066 ms per packet) with standard deviation of 0.001578 ms qSpeedTest(send=512 , recv=4 ) in 0.051145000 sec for 19552.25 packets/sec ( 0.051145 ms per packet) with standard deviation of 0.002413 ms qSpeedTest(send=512 , recv=8 ) in 0.051583000 sec for 19386.23 packets/sec ( 0.051583 ms per packet) with standard deviation of 0.001808 ms qSpeedTest(send=512 , recv=16 ) in 0.052346000 sec for 19103.66 packets/sec ( 0.052346 ms per packet) with standard deviation of 0.005228 ms qSpeedTest(send=512 , recv=32 ) in 0.054020000 sec for 18511.66 packets/sec ( 0.054020 ms per packet) with standard deviation of 0.004604 ms qSpeedTest(send=512 , recv=64 ) in 0.052584000 sec for 19017.19 packets/sec ( 0.052584 ms per packet) with standard deviation of 0.001935 ms qSpeedTest(send=512 , recv=128 ) in 0.054611000 sec for 18311.33 packets/sec ( 0.054611 ms per packet) with standard deviation of 0.001507 ms qSpeedTest(send=512 , recv=256 ) in 0.055602000 sec for 17984.96 packets/sec ( 0.055602 ms per packet) with standard deviation of 0.004139 ms qSpeedTest(send=512 , recv=512 ) in 0.060131000 sec for 16630.36 packets/sec ( 0.060131 ms per packet) with standard deviation of 0.004732 ms qSpeedTest(send=512 , recv=1024 ) in 0.063374000 sec for 15779.34 packets/sec ( 0.063374 ms per packet) with standard deviation of 0.002498 ms qSpeedTest(send=1024 , recv=0 ) in 0.058207000 sec for 17180.06 packets/sec ( 0.058207 ms per packet) with standard deviation of 0.004969 ms qSpeedTest(send=1024 , recv=4 ) in 0.057945000 sec for 17257.74 packets/sec ( 0.057945 ms per packet) with standard deviation of 0.002644 ms qSpeedTest(send=1024 , recv=8 ) in 0.056318000 sec for 17756.31 packets/sec ( 0.056318 ms per packet) with standard deviation of 0.001681 ms qSpeedTest(send=1024 , recv=16 ) in 0.057504000 sec for 17390.10 packets/sec ( 0.057504 ms per packet) with standard deviation of 0.003238 ms qSpeedTest(send=1024 , recv=32 ) in 0.058180000 sec for 17188.04 packets/sec ( 0.058180 ms per packet) with standard deviation of 0.001859 ms qSpeedTest(send=1024 , recv=64 ) in 0.057998000 sec for 17241.97 packets/sec ( 0.057998 ms per packet) with standard deviation of 0.002039 ms qSpeedTest(send=1024 , recv=128 ) in 0.058390000 sec for 17126.22 packets/sec ( 0.058390 ms per packet) with standard deviation of 0.001929 ms qSpeedTest(send=1024 , recv=256 ) in 0.061801000 sec for 16180.97 packets/sec ( 0.061801 ms per packet) with standard deviation of 0.004318 ms qSpeedTest(send=1024 , recv=512 ) in 0.063850000 sec for 15661.71 packets/sec ( 0.063850 ms per packet) with standard deviation of 0.002689 ms qSpeedTest(send=1024 , recv=1024 ) in 0.068770000 sec for 14541.22 packets/sec ( 0.068770 ms per packet) with standard deviation of 0.002334 ms Testing receiving 4.0MB of data using varying receive packet sizes: qSpeedTest(send=0 , recv=32 ) 131072 packets needed to receive 4.0MB in 5.729221000 sec for 0.698175 MB/sec for 22877.80 packets/sec ( 0.043710 ms per packet) qSpeedTest(send=0 , recv=64 ) 65536 packets needed to receive 4.0MB in 3.002543000 sec for 1.332204 MB/sec for 21826.83 packets/sec ( 0.045815 ms per packet) qSpeedTest(send=0 , recv=128 ) 32768 packets needed to receive 4.0MB in 1.634748000 sec for 2.446860 MB/sec for 20044.68 packets/sec ( 0.049889 ms per packet) qSpeedTest(send=0 , recv=256 ) 16384 packets needed to receive 4.0MB in 0.834877000 sec for 4.791125 MB/sec for 19624.45 packets/sec ( 0.050957 ms per packet) qSpeedTest(send=0 , recv=512 ) 8192 packets needed to receive 4.0MB in 0.462364000 sec for 8.651193 MB/sec for 17717.64 packets/sec ( 0.056441 ms per packet) qSpeedTest(send=0 , recv=1024 ) 4096 packets needed to receive 4.0MB in 0.243027000 sec for 16.459076 MB/sec for 16854.09 packets/sec ( 0.059333 ms per packet) The results seem to be within error margin or even slightly faster (although I can't explain why). The mac build is still ongiong. I'll have the results tomorrow, but I wouldn't expect this to affect them to be any different. In the uncontended case, all this is doing is replacing a recursive mutex with a read/write lock + a normal mutex. All of these operations should be extremely fast compared to the rest of the things we are doing here(*). If we wanted to speed things up here, we should probably try to avoid all the string copying going on when building packets. (*) There is also the push/pop of an item on the queue, but again that should be very fast in case of an empty queue. And we could even optimize that away in the case we have an exclusive lock, but it does not seem to be necessary. https://reviews.llvm.org/D22914 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits