Each of these test programs basically uses a kernel call hundreds or thousands of times, and records the average time. Even with this, there is some margin of error - usually about 1%, if the tests are run repeatedly. The tests for rinterrupt/scheduling latency seem to be particularly inconsistent, and shouldn't be interpreted as absolute truth.
All the percentages up to the "Improvement" columns are against the stock Watcom kernel build.
My original spreadsheet was colour coded for easier viewing, and I should be able to add that here using css tags, once I find a quick way.
The table looks a little messy, but it's a limitation of the wiki syntax.
Test | Command | Trinity Stock (Watcom) | GCC 2.95.3 | | | | | | GCC 3.3.5 | | | | | | GCC 4.2.0 | | | | | | Improvement from 2.95 to 4.2 | | | Improvement from 3.3 to 4.2 | | |
| | | O2 | | O3 | | Os | | O2 | | O3 | | Os | | O2 | | O3 | | Os | | O2 | O3 | Os | O2 | O3 | Os |
| | usec | usec | change | usec | change | usec | change | usec | change | usec | change | usec | change | usec | change | usec | change | usec | change | | | | | | |
kernel call (ClockID) | syscall -k | 0.319 | 0.332 | +4.075% | 0.332 | +4.075% | 0.328 | +2.821% | 0.320 | +0.313% | 0.318 | -0.313% | 0.319 | 0.000% | 0.318 | -0.313% | 0.318 | -0.313% | 0.318 | -0.313% | -4.217% | -4.217% | -3.049% | -0.625% | 0.000% | -0.313% |
procnto call (getppid) | syscall -p | 6.183 | 6.072 | -1.795% | 6.157 | -0.421% | 5.856 | -5.289% | 5.812 | -6.000% | 5.778 | -6.550% | 5.814 | -5.968% | 5.691 | -7.957% | 5.755 | -6.922% | 5.724 | -7.424% | -6.275% | -6.529% | -2.254% | -2.082% | -0.398% | -1.548% |
uncontested atomic inline mutex lock/unlock | mutex -i | 0.059 | 0.059 | 0.000% | 0.059 | 0.000% | 0.059 | 0.000% | 0.059 | 0.000% | 0.059 | 0.000% | 0.059 | 0.000% | 0.059 | 0.000% | 0.059 | 0.000% | 0.059 | 0.000% | 0.000% | 0.000% | 0.000% | 0.000% | 0.000% | 0.000% |
unavailable atomic inline mutex trylock | mutex -iu | 0.038 | 0.039 | +2.632% | 0.039 | +2.632% | 0.039 | +2.632% | 0.039 | +2.632% | 0.039 | +2.632% | 0.038 | 0.000% | 0.039 | +2.632% | 0.038 | 0.000% | 0.038 | 0.000% | 0.000% | -2.564% | -2.564% | 0.000% | -2.564% | 0.000% |
uncontested atomic libc mutex lock/unlock | mutex | 0.116 | 0.116 | 0.000% | 0.118 | +1.724% | 0.115 | -0.862% | 0.116 | 0.000% | 0.115 | -0.862% | 0.115 | -0.862% | 0.115 | -0.862% | 0.116 | 0.000% | 0.116 | 0.000% | -0.862% | -1.695% | +0.870% | -0.862% | +0.870% | +0.870% |
unavailable atomic libc mutex trylock | mutex -u | 0.065 | 0.065 | 0.000% | 0.065 | 0.000% | 0.065 | 0.000% | 0.065 | 0.000% | 0.065 | 0 | 0.07 | 0 | 0.07 | 0.000% | 0.065 | 0.000% | 0.065 | 0.000% | 0.000% | 0.000% | 0.000% | 0.000% | 0.000% | 0.000% |
uncontested kernel libc mutex lock/unlock | mutex -k | 1.228 | 1.195 | -2.687% | 1.188 | -3.257% | 1.189 | -3.176% | 1.162 | -5.375% | 1.148 | -0.07 | 1.13 | -0.08 | 1.11 | -9.691% | 1.173 | -4.479% | 1.129 | -8.062% | -7.197% | -1.263% | -5.046% | -4.561% | +2.178% | 0.000% |
contested libc mutex lock/unlock | mutex -c | 1.856 | 1.841 | -0.808% | 1.845 | -0.593% | 1.838 | -0.970% | 1.844 | -0.647% | 1.775 | -0.04 | 1.75 | -0.05 | 1.67 | -10.183% | 1.649 | -11.153% | 1.748 | -5.819% | -9.451% | -10.623% | -4.897% | -9.599% | -7.099% | -0.342% |
self semaphore post/wait | sem -1 | 0.961 | 0.968 | +0.728% | 0.954 | -0.728% | 0.944 | -1.769% | 0.905 | -5.827% | 0.911 | -0.05 | 0.9 | -0.06 | 0.87 | -9.469% | 0.870 | -9.469% | 0.888 | -7.596% | -10.124% | -8.805% | -5.932% | -3.867% | -4.501% | -1.770% |
self unavailable semaphore trywait | sem -u | 0.656 | 0.657 | +0.152% | 0.666 | +1.524% | 0.654 | -0.305% | 0.633 | -3.506% | 0.638 | -0.03 | 0.64 | -0.02 | 0.62 | -5.640% | 0.618 | -5.793% | 0.632 | -3.659% | -5.784% | -7.207% | -3.364% | -2.212% | -3.135% | -1.711% |
inter-thread semaphore post/wait | sem -t | 1.276 | 1.335 | +4.624% | 1.312 | +2.821% | 1.291 | +1.176% | 1.302 | +2.038% | 1.292 | 0.01 | 1.28 | 0 | 1.2 | -5.721% | 1.240 | -2.821% | 1.340 | +5.016% | -9.888% | -5.488% | +3.796% | -7.604% | -4.025% | +4.688% |
inter-process semaphore post/wait | sem | 1.871 | 1.963 | +4.917% | 1.947 | +4.062% | 1.907 | +1.924% | 1.855 | -0.855% | 1.876 | 0 | 1.88 | 0.01 | 1.88 | +0.695% | 1.806 | -3.474% | 1.912 | +2.191% | -4.024% | -7.242% | +0.262% | +1.563% | -3.731% | +1.594% |
self named semaphore post/wait | sem -n1 | 7.236 | 8.441 | +16.653% | 8.160 | +12.769% | 7.829 | +8.195% | 7.264 | +0.387% | 7.172 | -0.01 | 7.14 | -0.01 | 7.59 | +4.823% | 7.695 | +6.343% | 7.544 | +4.256% | -10.141% | -5.699% | -3.640% | +4.419% | +7.292% | +5.643% |
self unavailable named semaphore trywait | sem -nu | 3.897 | 4.308 | +10.547% | 4.362 | +11.932% | 4.199 | +7.750% | 3.912 | +0.385% | 3.876 | -0.01 | 3.93 | 0.01 | 4.16 | +6.826% | 4.049 | +3.900% | 3.821 | -1.950% | -3.366% | -7.176% | -9.002% | +6.416% | +4.463% | -2.872% |
inter-thread named semaphore post/wait | sem -nt | 7.451 | 8.605 | +15.488% | 8.156 | +9.462% | 8.025 | +7.704% | 7.467 | +0.215% | 7.467 | 0 | 7.63 | 0.02 | 7.88 | +5.744% | 7.674 | +2.993% | 7.619 | +2.255% | -8.437% | -5.910% | -5.059% | +5.518% | +2.772% | -0.131% |
inter-process named semaphore post/wait | sem -n | 8.111 | 9.446 | +16.459% | 8.745 | +7.817% | 8.883 | +9.518% | 8.221 | +1.356% | 8.068 | -0.01 | 8.45 | 0.04 | 8.55 | +5.449% | 8.365 | +3.132% | 8.398 | +3.538% | -9.454% | -4.345% | -5.460% | +4.038% | +3.681% | -0.568% |
self pulse send/receive | pulse -1 | 1.077 | 1.006 | -6.592% | 0.999 | -7.242% | 1.004 | -6.778% | 0.999 | -7.242% | 0.965 | -0.1 | 0.98 | -0.09 | 0.94 | -12.721% | 0.940 | -12.721% | 0.999 | -7.242% | -6.561% | -5.906% | -0.498% | -5.906% | -2.591% | +2.462% |
self pulse (with info) send/receive | pulse -1i | 1.096 | 1.011 | -7.755% | 1.003 | -8.485% | 1.007 | -8.120% | 1.005 | -8.303% | 0.969 | -0.12 | 0.98 | -0.11 | 0.95 | -13.686% | 0.946 | -13.686% | 0.999 | -8.850% | -6.429% | -5.683% | -0.794% | -5.871% | -2.374% | +1.939% |
inter-thread pulse send/receive | pulse -tp1 | 1.095 | 1.182 | +7.945% | 1.186 | +8.311% | 1.170 | +6.849% | 1.148 | +4.840% | 1.157 | 0.06 | 1.14 | 0.04 | 1.18 | +8.037% | 1.091 | -0.365% | 1.140 | +4.110% | +0.085% | -8.010% | -2.564% | +3.049% | -5.704% | +0.264% |
inter-process pulse send/receive | pulse -p1 | 1.786 | 1.909 | +6.887% | 1.906 | +6.719% | 1.915 | +7.223% | 1.753 | -1.848% | 1.764 | -0.01 | 1.78 | -0.01 | 1.72 | -3.527% | 1.722 | -3.583% | 1.774 | -0.672% | -9.743% | -9.654% | -7.363% | -1.711% | -2.381% | -0.113% |
self pulse send/receive | pulse -1p1 | 1.220 | 1.154 | -5.410% | 1.146 | -6.066% | 1.146 | -6.066% | 1.150 | -5.738% | 1.122 | -0.08 | 1.13 | -0.07 | 1.09 | -11.066% | 1.084 | -11.148% | 1.153 | -5.492% | -5.979% | -5.410% | +0.611% | -5.652% | -3.387% | +1.855% |
self pulse send/receive | pulse -1cp1 | 1.221 | 1.155 | -5.405% | 1.147 | -6.061% | 1.147 | -6.061% | 1.151 | -5.733% | 1.123 | -0.08 | 1.13 | -0.07 | 1.08 | -11.220% | 1.082 | -11.384% | 1.150 | -5.815% | -6.147% | -5.667% | +0.262% | -5.821% | -3.651% | +1.500% |
self pulse send/receive | pulse -1cp10 | 1.264 | 1.189 | -5.934% | 1.180 | -6.646% | 1.177 | -6.883% | 1.182 | -6.487% | 1.160 | -0.08 | 1.17 | -0.07 | 1.13 | -10.997% | 1.126 | -10.918% | 1.203 | -4.826% | -5.383% | -4.576% | +2.209% | -4.822% | -2.931% | +2.645% |
self pulse send/receive | pulse -1cp100 | 1.482 | 1.417 | -4.386% | 1.422 | -4.049% | 1.365 | -7.895% | 1.376 | -7.152% | 1.398 | -0.06 | 1.37 | -0.08 | 1.39 | -6.275% | 1.359 | -8.300% | 1.479 | -0.202% | -1.976% | -4.430% | +8.352% | +0.945% | -2.790% | +8.352% |
self pulse send/receive | pulse -1cp1000 | 4.651 | 4.395 | -5.504% | 4.439 | -4.558% | 4.405 | -5.289% | 4.453 | -4.257% | 4.431 | -0.05 | 4.37 | -0.06 | 4.6 | -1.011% | 4.583 | -1.462% | 4.711 | +1.290% | +4.755% | +3.244% | +6.947% | +3.391% | +3.430% | +7.729% |
signal handler install | signal -h | 0.544 | 0.548 | +0.735% | 0.548 | +0.735% | 0.546 | +0.368% | 0.525 | -3.493% | 0.523 | -0.04 | 0.53 | -0.03 | 0.52 | -4.963% | 0.513 | -5.699% | 0.590 | +8.456% | -5.657% | -6.387% | +8.059% | -1.524% | -1.912% | +12.167% |
signal delivery overhead | signal -o | 0.389 | 0.410 | +5.398% | 0.403 | +3.599% | 0.415 | +6.684% | 0.395 | +1.542% | 0.395 | 0.02 | 0.4 | 0.03 | 0.4 | +2.057% | 0.387 | -0.514% | 0.394 | +1.285% | -3.171% | -3.970% | -5.060% | +0.506% | -2.025% | -1.500% |
ignored signal delivery | signal -i | 0.430 | 0.464 | +7.907% | 0.459 | +6.744% | 0.466 | +8.372% | 0.433 | +0.698% | 0.434 | 0.01 | 0.43 | 0 | 0.43 | +0.698% | 0.432 | +0.465% | 0.433 | +0.698% | -6.681% | -5.882% | -7.082% | 0.000% | -0.461% | +0.464% |
blocked signal delivery | signal -b | 1.046 | 1.087 | +3.920% | 1.057 | +1.052% | 1.076 | +2.868% | 0.949 | -9.273% | 0.947 | -0.09 | 1.02 | -0.03 | 0.91 | -13.289% | 0.902 | -13.767% | 0.958 | -8.413% | -16.559% | -14.664% | -10.967% | -4.426% | -4.752% | -5.616% |
self signal delivery | signal -1 | 2.086 | 2.025 | -2.924% | 2.126 | +1.918% | 2.014 | -3.452% | 1.941 | -6.951% | 1.928 | -0.08 | 1.9 | -0.09 | 1.9 | -8.965% | 1.874 | -10.163% | 1.919 | -8.006% | -6.222% | -11.853% | -4.717% | -2.164% | -2.801% | +0.841% |
inter-thread signal delivery | signal -t | 2.904 | 2.897 | -0.241% | 3.103 | +6.853% | 2.869 | -1.205% | 2.712 | -6.612% | 2.786 | -0.04 | 2.71 | -0.07 | 2.6 | -10.331% | 2.748 | -5.372% | 2.913 | +0.310% | -10.114% | -11.441% | +1.534% | -3.982% | -1.364% | +7.689% |
inter-process signal delivery | signal | 3.642 | 3.563 | -2.169% | 3.788 | +4.009% | 3.574 | -1.867% | 3.377 | -7.276% | 3.482 | -0.04 | 3.41 | -0.06 | 3.36 | -7.688% | 3.531 | -3.048% | 3.550 | -2.526% | -5.641% | -6.785% | -0.672% | -0.444% | +1.407% | +4.167% |
group self signal delivery | signal -1g | 2.893 | 2.438 | -15.728% | 2.528 | -12.617% | 2.559 | -11.545% | 2.427 | -16.108% | 2.326 | -0.2 | 2.41 | -0.17 | 2.15 | -25.579% | 2.220 | -23.263% | 2.401 | -17.007% | -11.690% | -12.184% | -6.174% | -11.290% | -4.557% | -0.166% |
user-stack thread create/destroy | thread -s | 5.128 | 5.564 | +8.502% | 5.725 | +11.642% | 5.456 | +6.396% | 4.832 | -5.772% | 4.970 | -0.03 | 4.78 | -0.07 | 4.9 | -4.544% | 5.175 | +0.917% | 4.579 | -10.706% | -12.024% | -9.607% | -16.074% | +1.304% | +4.125% | -4.225% |
thread create/destroy | thread -l | 39.074 | 39.130 | +0.143% | 39.307 | +0.596% | 38.792 | -0.722% | 36.648 | -6.209% | 36.271 | -0.07 | 36.87 | -0.06 | 37.7 | -3.522% | 37.186 | -4.832% | 36.808 | -5.799% | -3.660% | -5.396% | -5.114% | +2.865% | +2.523% | -0.179% |
detached lazy-stack thread create/destroy | thread -d | 36.490 | 36.706 | +0.592% | 36.506 | +0.044% | 36.229 | -0.715% | 34.067 | -6.640% | 33.625 | -0.08 | 34.49 | -0.05 | 34.73 | -4.812% | 34.026 | -6.753% | 34.440 | -5.618% | -5.372% | -6.793% | -4.938% | +1.958% | +1.193% | -0.133% |
lazy-stack thread create/destroy | thread | 39.094 | 39.147 | +0.136% | 39.350 | +0.655% | 38.878 | -0.553% | 36.642 | -6.272% | 36.313 | -0.07 | 36.79 | -0.06 | 37.73 | -3.497% | 37.208 | -4.824% | 36.823 | -5.809% | -3.627% | -5.443% | -5.286% | +2.961% | +2.465% | +0.090% |
lazy-stack thread create/destroy | thread -n1 | 39.106 | 39.152 | +0.118% | 39.366 | +0.665% | 38.909 | -0.504% | 36.646 | -6.291% | 36.195 | -0.07 | 36.81 | -0.06 | 37.68 | -3.641% | 37.170 | -4.951% | 36.807 | -5.879% | -3.755% | -5.578% | -5.402% | +2.827% | +2.694% | -0.008% |
lazy-stack thread create/destroy | thread -n10 | 35.529 | 35.642 | +0.318% | 35.295 | -0.659% | 35.302 | -0.639% | 33.302 | -6.268% | 33.178 | -0.07 | 33.25 | -0.06 | 34.76 | -2.170% | 33.160 | -6.668% | 33.706 | -5.131% | -2.480% | -6.049% | -4.521% | +4.372% | -0.054% | +1.387% |
lazy-stack thread create/destroy | thread -n100 | 57.618 | 57.131 | -0.845% | 56.999 | -1.074% | 57.446 | -0.299% | 56.058 | -2.707% | 55.514 | -3.652% | 55.440 | -3.780% | 56.155 | -2.539% | 54.967 | -4.601% | 56.009 | -2.793% | -1.708% | -3.565% | -2.501% | +0.173% | -0.985% | +1.026% |
lazy-stack thread create/destroy | thread -n1000 | 131.493 | 128.529 | -2.254% | 127.943 | -2.700% | 133.826 | +1.774% | 129.200 | -1.744% | 133.020 | +1.161% | 129.531 | -1.492% | 126.857 | -3.526% | 120.500 | -8.360% | 130.371 | -0.853% | -1.301% | -5.817% | -2.582% | -1.813% | -9.412% | +0.648% |
timer create/destroy | timer -t | 1.013 | 1.028 | +1.481% | 1.026 | +1.283% | 1.012 | -0.099% | 0.985 | -2.764% | 0.985 | -2.764% | 1.082 | +6.811% | 0.972 | -4.047% | 0.971 | -4.146% | 1.090 | +7.601% | -5.447% | -5.361% | +7.708% | -1.320% | -1.421% | +0.739% |
event timer create/destroy | timer -te | 1.038 | 1.062 | +2.312% | 1.059 | +2.023% | 1.042 | +0.385% | 1.006 | -3.083% | 1.017 | -2.023% | 1.114 | +7.322% | 1.003 | -3.372% | 1.000 | -3.661% | 1.182 | +13.873% | -5.556% | -5.571% | +13.436% | -0.298% | -1.672% | +6.104% |
absolute timer arm | timer -a | 0.559 | 0.601 | +7.513% | 0.596 | +6.619% | 0.591 | +5.725% | 0.620 | +10.912% | 0.610 | +9.123% | 0.611 | +9.302% | 0.574 | +2.683% | 0.574 | +2.683% | 0.598 | +6.977% | -4.493% | -3.691% | +1.184% | -7.419% | -5.902% | -2.128% |
relative timer arm | timer | 0.767 | 0.817 | +6.519% | 0.816 | +6.389% | 0.812 | +5.867% | 0.835 | +8.866% | 0.816 | +6.389% | 0.827 | +7.823% | 0.810 | +5.606% | 0.812 | +5.867% | 0.832 | +8.475% | -0.857% | -0.490% | +2.463% | -2.994% | -0.490% | +0.605% |
relative timer arm with remainder | timer -o | 1.205 | 1.262 | +4.730% | 1.263 | +4.813% | 1.258 | +4.398% | 1.265 | +4.979% | 1.244 | +3.237% | 1.267 | +5.145% | 1.244 | +3.237% | 1.244 | +3.237% | 1.347 | +11.784% | -1.426% | -1.504% | +7.075% | -1.660% | 0.000% | +6.314% |
(multiple) relative timer arm | timer -m | 18.663 | 18.270 | -2.106% | 18.028 | -3.402% | 18.275 | -2.079% | 18.116 | -2.931% | 18.189 | -2.540% | 17.811 | -4.565% | 18.491 | -0.922% | 18.574 | -0.477% | 18.214 | -2.406% | +1.210% | +3.029% | -0.334% | +2.070% | +2.117% | +2.263% |
(multiple) relative timer arm | timer -mm | 37.312 | 36.235 | -2.886% | 36.313 | -2.677% | 36.297 | -2.720% | 36.236 | -2.884% | 35.545 | -4.736% | 38.535 | +3.278% | 36.282 | -2.761% | 36.326 | -2.643% | 36.624 | -1.844% | +0.130% | +0.036% | +0.901% | +0.127% | +2.197% | -4.959% |
(multiple) relative timer arm | timer -mmm | 55.692 | 53.945 | -3.137% | 55.972 | +0.503% | 56.192 | +0.898% | 58.574 | +5.175% | 52.936 | -4.949% | 61.229 | +9.942% | 58.818 | +5.613% | 54.083 | -2.889% | 54.496 | -2.148% | +9.033% | -3.375% | -3.018% | +0.417% | +2.167% | -10.996% |
(multiple) relative timer arm | timer -mmmm | 79.276 | 79.178 | -0.124% | 81.494 | +2.798% | 80.732 | +1.837% | 79.503 | +0.286% | 72.510 | -8.535% | 80.721 | +1.823% | 79.075 | -0.254% | 76.068 | -4.047% | 77.049 | -2.809% | -0.130% | -6.658% | -4.562% | -0.538% | +4.907% | -4.549% |
avg NOP kernel call time | calls | 0.299545 | 0.299545 | 0.000% | 0.299545 | 0.000% | 0.296364 | -1.062% | 0.296182 | -1.123% | 0.296273 | -1.092% | 0.296273 | -1.092% | 0.293182 | -2.124% | 0.293182 | -2.124% | 0.292091 | -2.488% | -2.124% | -2.124% | -1.442% | -1.013% | -1.043% | -1.412% |
avg Install Signal Handler kernel call | | 0.537364 | 0.557636 | +3.772% | 0.558727 | +3.976% | 0.554455 | +3.181% | 0.543727 | +1.184% | 0.545909 | +1.590% | 0.544818 | +1.387% | 0.537364 | 0.000% | 0.533091 | -0.795% | 0.613273 | +14.126% | -3.635% | -4.588% | +10.608% | -1.170% | -2.348% | +12.565% |
getppid proc call | | 6.171818 | 6.040273 | -2.131% | 6.188909 | +0.277% | 5.800364 | -6.019% | 5.797091 | -6.072% | 5.712727 | -7.439% | 5.819636 | -5.706% | 5.613091 | -9.053% | 5.695909 | -7.711% | 5.683091 | -7.919% | -7.072% | -7.966% | -2.022% | -3.174% | -0.294% | -2.346% |
MMAP call, followed by munmap (MAP_ANON, 4096 bytes) | | 30.908182 | 31.109091 | +0.650% | 29.970000 | -3.035% | 30.005455 | -2.921% | 29.227273 | -5.438% | 29.190909 | -5.556% | 29.146364 | -5.700% | 30.047273 | -2.785% | 29.075455 | -5.930% | 28.961818 | -6.297% | -3.413% | -2.985% | -3.478% | +2.806% | -0.396% | -0.633% |
MMAP call + munmap (MAP_ANON, 8192 bytes) | | 33.150000 | 33.288182 | +0.417% | 32.047273 | -3.326% | 32.136364 | -3.058% | 31.409091 | -5.252% | 31.154545 | -6.019% | 31.117273 | -6.132% | 32.020909 | -3.406% | 30.972727 | -6.568% | 31.000000 | -6.486% | -3.807% | -3.353% | -3.536% | +1.948% | -0.584% | -0.377% |
MMAP call + munmap (MAP_ANON OR MAP_LAZY, 4096 bytes) | | 19.415455 | 19.968182 | +2.847% | 18.883636 | -2.739% | 19.602727 | +0.965% | 18.153636 | -6.499% | 18.213636 | -6.190% | 18.508182 | -4.673% | 19.006364 | -2.107% | 18.756364 | -3.395% | 18.367273 | -5.399% | -4.817% | -0.674% | -6.302% | +4.697% | +2.980% | -0.761% |
MMAP call + faulting in + munmap (MAP_ANON OR MAP_LAZY, 4096 bytes) | | 39.255455 | 39.477273 | +0.565% | 38.550000 | -1.797% | 38.804545 | -1.149% | 37.695455 | -3.974% | 37.487273 | -4.504% | 37.201818 | -5.231% | 38.385455 | -2.216% | 37.483636 | -4.514% | 36.834545 | -6.167% | -2.766% | -2.766% | -5.077% | +1.830% | -0.010% | -0.987% |
inter-process 0-send/0-recv/0-reply/0-send 0k msgpass | msgpass | 2.133 | 2.230 | +4.548% | 2.225 | +4.313% | 2.181 | +2.250% | 2.120 | -0.609% | 2.140 | +0.328% | 2.089 | -2.063% | 2.126 | -0.328% | 2.094 | -1.828% | 2.127 | -0.281% | -4.664% | -5.888% | -2.476% | +0.283% | -2.150% | +1.819% |
inter-process 1-send/1-recv/0-reply/0-send 1k msgpass | msgpass -s1k | 2.979 | 3.189 | +7.049% | 3.168 | +6.344% | 3.081 | +3.424% | 3.025 | +1.544% | 2.975 | -0.134% | 2.957 | -0.739% | 2.965 | -0.470% | 3.032 | +1.779% | 3.023 | +1.477% | -7.024% | -4.293% | -1.883% | -1.983% | +1.916% | +2.232% |
inter-process 0-send/0-recv/1-reply/1-send 1k msgpass | msgpass -r1k | 3.139 | 3.301 | +5.161% | 3.280 | +4.492% | 3.183 | +1.402% | 3.201 | +1.975% | 3.145 | +0.191% | 3.075 | -2.039% | 3.098 | -1.306% | 3.135 | -0.127% | 3.167 | +0.892% | -6.150% | -4.421% | -0.503% | -3.218% | -0.318% | +2.992% |
inter-process 1-send/1-recv/1-reply/1-send 2k msgpass | msgpass -s1k -r1k | 3.971 | 4.206 | +5.918% | 4.167 | +4.936% | 4.092 | +3.047% | 4.023 | +1.309% | 3.947 | -0.604% | 3.917 | -1.360% | 3.918 | -1.335% | 3.990 | +0.478% | 4.000 | +0.730% | -6.847% | -4.248% | -2.248% | -2.610% | +1.089% | +2.119% |
time for open call | opens | 28.211 | 28.380 | +0.599% | 28.654 | +1.570% | 27.905 | -1.085% | 27.526 | -2.428% | 28.136 | -0.266% | 26.986 | -4.342% | 27.674 | -1.904% | 27.838 | -1.322% | 27.178 | -3.662% | -2.488% | -2.848% | -2.605% | +0.538% | -1.059% | +0.711% |
time for open call | | 52.841 | 53.392 | +1.043% | 52.504 | -0.638% | 53.123 | +0.534% | 51.930 | -1.724% | 51.188 | -3.128% | 51.574 | -2.398% | 49.679 | -5.984% | 45.614 | -13.677% | 51.627 | -2.297% | -6.954% | -13.123% | -2.816% | -4.335% | -10.889% | +0.103% |
self same-CPU yield | yield -1a | 0.337 | 0.345 | +2.374% | 0.345 | +2.374% | 0.341 | +1.187% | 0.331 | -1.780% | 0.331 | -1.780% | 0.331 | -1.780% | 0.328 | -2.671% | 0.330 | -2.077% | 0.329 | -2.374% | -4.928% | -4.348% | -3.519% | -0.906% | -0.302% | -0.604% |
inter-thread same-CPU yield | yield -ta | 0.398 | 0.413 | +3.769% | 0.412 | +3.518% | 0.401 | +0.754% | 0.423 | +6.281% | 0.421 | +5.779% | 0.427 | +7.286% | 0.387 | -2.764% | 0.389 | -2.261% | 0.415 | +4.271% | -6.295% | -5.583% | +3.491% | -8.511% | -7.601% | -2.810% |
inter-process same-CPU yield | yield -a | 0.630 | 0.650 | +3.175% | 0.648 | +2.857% | 0.632 | +0.317% | 0.651 | +3.333% | 0.646 | +2.540% | 0.656 | +4.127% | 0.619 | -1.746% | 0.620 | -1.587% | 0.649 | +3.016% | -4.769% | -4.321% | +2.690% | -4.916% | -4.025% | -1.067% |
self empty mqueue non-blocking recv | mq -u | 4.340 | 4.785 | +10.253% | 4.431 | +2.097% | 4.522 | +4.194% | 4.284 | -1.290% | 4.295 | -1.037% | 4.241 | -2.281% | 4.449 | +2.512% | 4.088 | -5.806% | 4.331 | -0.207% | -7.022% | -7.741% | -4.224% | +3.852% | -4.820% | +2.122% |
self empty mqueue send/recv | mq -1 | 12.160 | 12.555 | +3.248% | 12.432 | +2.237% | 12.150 | -0.082% | 11.643 | -4.252% | 11.804 | -2.928% | 11.691 | -3.857% | 11.990 | -1.398% | 11.817 | -2.821% | 11.993 | -1.373% | -4.500% | -4.947% | -1.292% | +2.980% | +0.110% | +2.583% |
self full mqueue send/recv | mg -f | 12.128 | 12.707 | +4.774% | 12.509 | +3.141% | 12.153 | +0.206% | 11.720 | -3.364% | 11.755 | -3.076% | 11.882 | -2.028% | 12.093 | -0.289% | 11.754 | -3.084% | 12.012 | -0.956% | -4.832% | -6.036% | -1.160% | +3.183% | -0.009% | +1.094% |
self full mixed-priority mqueue send/recv | mg -fp | 12.219 | 12.856 | +5.213% | 12.642 | +3.462% | 12.253 | +0.278% | 11.911 | -2.521% | 11.931 | -2.357% | 11.892 | -2.676% | 12.273 | +0.442% | 11.950 | -2.201% | 12.173 | -0.376% | -4.535% | -5.474% | -0.653% | +3.039% | +0.159% | +2.363% |
inter-thread empty mqueue send/recv | mq -t | 11.689 | 11.775 | +0.736% | 12.084 | +3.379% | 11.538 | -1.292% | 11.244 | -3.807% | 10.930 | -6.493% | 10.801 | -7.597% | 11.383 | -2.618% | 11.065 | -5.338% | 11.234 | -3.893% | -3.329% | -8.433% | -2.635% | +1.236% | +1.235% | +4.009% |
inter-process empty mqueue send/recv | mq | 11.711 | 11.857 | +1.247% | 12.155 | +3.791% | 11.679 | -0.273% | 11.367 | -2.937% | 11.072 | -5.456% | 10.926 | -6.703% | 11.484 | -1.938% | 11.150 | -4.790% | 11.441 | -2.306% | -3.146% | -8.268% | -2.038% | +1.029% | +0.704% | +4.714% |
self pipe write/read | pipe -1 | 14.147 | 14.274 | +0.898% | 14.290 | +1.011% | 13.781 | -2.587% | 13.266 | -6.227% | 13.360 | -5.563% | 13.913 | -1.654% | 13.386 | -5.379% | 13.683 | -3.280% | 13.191 | -6.758% | -6.221% | -4.248% | -4.281% | +0.905% | +2.418% | -5.189% |
inter-thread pipe write/read | pipe -t | 15.178 | 15.232 | +0.356% | 15.352 | +1.146% | 14.931 | -1.627% | 14.241 | -6.173% | 14.364 | -5.363% | 14.783 | -2.602% | 14.381 | -5.251% | 14.278 | -5.930% | 14.416 | -5.020% | -5.587% | -6.996% | -3.449% | +0.983% | -0.599% | -2.483% |
inter-process pipe write/read | pipe | 15.136 | 15.110 | -0.172% | 15.342 | +1.361% | 14.954 | -1.202% | 14.151 | -6.508% | 14.362 | -5.114% | 14.772 | -2.405% | 14.410 | -4.797% | 14.201 | -6.177% | 14.311 | -5.451% | -4.633% | -7.437% | -4.300% | +1.830% | -1.121% | -3.121% |
interrupt/scheduling latency min | latency | 1.632 | 1.603 | -1.777% | 1.441 | -11.703% | 1.582 | -3.064% | 1.636 | +0.245% | 1.634 | +0.123% | 1.618 | -0.858% | 1.563 | -4.228% | 1.601 | -1.900% | 1.791 | +9.743% | -2.495% | +11.103% | +13.211% | -4.462% | -2.020% | +10.692% |
interrupt/scheduling latency avg | | 1.803 | 1.719 | -4.659% | 1.726 | -4.271% | 1.721 | -4.548% | 1.744 | -3.272% | 1.737 | -3.661% | 1.721 | -4.548% | 1.677 | -6.988% | 1.732 | -3.938% | 1.903 | +5.546% | -2.443% | +0.348% | +10.575% | -3.842% | -0.288% | +10.575% |
interrupt/scheduling latency max | | 8.237 | 6.513 | -20.930% | 8.242 | +0.061% | 9.179 | +11.436% | 8.678 | +5.354% | 9.355 | +13.573% | 7.640 | -7.248% | 8.199 | -0.461% | 8.762 | +6.374% | 8.769 | +6.459% | +25.887% | +6.309% | -4.467% | -5.520% | -6.339% | +14.777% |
interrupt/scheduling latency (loaded) min | latency -L mmap | 3.877 | 4.332 | +11.736% | 3.210 | -17.204% | 4.660 | +20.196% | 4.312 | +11.220% | 4.460 | +15.037% | 4.310 | +11.168% | 5.037 | +29.920% | 4.197 | +8.254% | 5.108 | +31.751% | +16.274% | +30.748% | +9.614% | +16.814% | -5.897% | +18.515% |
interrupt/scheduling latency (loaded) avg | | 9.592 | 10.568 | +10.175% | 11.380 | +18.641% | 10.771 | +12.291% | 10.266 | +7.027% | 10.907 | +13.709% | 10.665 | +11.186% | 11.087 | +15.586% | 11.071 | +15.419% | 10.453 | +8.976% | +4.911% | -2.715% | -2.952% | +7.997% | +1.504% | -1.988% |
interrupt/scheduling latency (loaded) max | | 29.975 | 32.244 | +7.570% | 37.512 | +25.144% | 33.636 | +12.214% | 32.893 | +9.735% | 33.684 | +12.374% | 62.542 | +108.647% | 34.146 | +13.915% | 36.225 | +20.851% | 32.787 | +9.381% | +5.899% | -3.431% | -2.524% | +3.809% | +7.544% | -47.576% |
interrupt/scheduling latency (loaded) min | latency -L msgpass | 1.526 | 1.509 | -1.114% | 1.509 | -1.114% | 1.471 | -3.604% | 1.615 | +5.832% | 1.614 | +5.767% | 1.516 | -0.655% | 1.530 | +0.262% | 1.633 | +7.012% | 1.600 | +4.849% | +1.392% | +8.217% | +8.770% | -5.263% | +1.177% | +5.541% |
interrupt/scheduling latency (loaded) avg | | 1.887 | 1.913 | +1.378% | 1.883 | -0.212% | 1.963 | +4.028% | 1.941 | +2.862% | 1.922 | +1.855% | 1.877 | -0.530% | 1.943 | +2.968% | 1.958 | +3.763% | 1.995 | +5.723% | +1.568% | +3.983% | +1.630% | +0.103% | +1.873% | +6.287% |
interrupt/scheduling latency (loaded) max | | 4.901 | 4.494 | -8.304% | 4.980 | +1.612% | 4.956 | +1.122% | 3.990 | -18.588% | 3.695 | -24.607% | 7.374 | +50.459% | 5.205 | +6.203% | 5.910 | +20.588% | 6.112 | +24.709% | +15.821% | +18.675% | +23.325% | +30.451% | +59.946% | -17.114% |
interrupt/scheduling latency (loaded) min | latency -L thread | 1.921 | 1.840 | -4.217% | 1.870 | -2.655% | 1.825 | -4.997% | 1.883 | -1.978% | 1.913 | -0.416% | 1.876 | -2.343% | 1.872 | -2.551% | 1.915 | -0.312% | 1.887 | -1.770% | +1.739% | +2.406% | +3.397% | -0.584% | +0.105% | +0.586% |
interrupt/scheduling latency (loaded) avg | | 2.486 | 2.454 | -1.287% | 2.540 | +2.172% | 2.377 | -4.385% | 2.405 | -3.258% | 2.404 | -3.298% | 2.395 | -3.660% | 2.472 | -0.563% | 2.481 | -0.201% | 2.417 | -2.776% | +0.733% | -2.323% | +1.683% | +2.786% | +3.203% | +0.919% |
interrupt/scheduling latency (loaded) max | | 9.286 | 12.160 | +30.950% | 12.411 | +33.653% | 7.866 | -15.292% | 7.664 | -17.467% | 10.179 | +9.617% | 7.648 | -17.639% | 9.105 | -1.949% | 5.870 | -36.787% | 8.993 | -3.155% | -25.123% | -52.703% | +14.327% | +18.802% | -42.332% | +17.586% |
inter-process 0-send/0-recv/0-reply/0-send 0k msgpass | msgpass | 2.132 | 2.262 | +6.098% | 2.224 | +4.315% | 2.170 | +1.782% | 2.109 | -1.079% | 2.111 | -0.985% | 2.089 | -2.017% | 2.135 | +0.141% | 2.087 | -2.111% | 2.106 | -1.220% | -5.615% | -6.160% | -2.949% | +1.233% | -1.137% | +0.814% |
inter-process 0-send/0-recv/0-reply/0-send 0k msgpass (with info) | msgpass -i | 2.223 | 2.304 | +3.644% | 2.308 | +3.824% | 2.249 | +1.170% | 2.193 | -1.350% | 2.190 | -1.484% | 2.164 | -2.654% | 2.198 | -1.125% | 2.156 | -3.014% | 2.181 | -1.889% | -4.601% | -6.586% | -3.024% | +0.228% | -1.553% | +0.786% |
inter-process 1-send/1-recv/0-reply/0-send 1k msgpass (with info) | msgpass -i -s16 | 2.319 | 2.386 | +2.889% | 2.335 | +0.690% | 2.316 | -0.129% | 2.258 | -2.630% | 2.265 | -2.329% | 2.223 | -4.140% | 2.259 | -2.587% | 2.223 | -4.140% | 2.255 | -2.760% | -5.323% | -4.797% | -2.634% | +0.044% | -1.854% | +1.439% |
inter-process 1-send/1-recv/0-reply/0-send 1k msgpass (with info) | msgpass -i -s32 | 2.393 | 2.406 | +0.543% | 2.352 | -1.713% | 2.330 | -2.633% | 2.275 | -4.931% | 2.282 | -4.639% | 2.255 | -5.767% | 2.290 | -4.304% | 2.254 | -5.809% | 2.298 | -3.970% | -4.821% | -4.167% | -1.373% | +0.659% | -1.227% | +1.907% |
inter-process 1-send/1-recv/0-reply/0-send 1k msgpass (with info) | msgpass -i -s64 | 2.508 | 2.450 | -2.313% | 2.392 | -4.625% | 2.384 | -4.944% | 2.317 | -7.616% | 2.327 | -7.217% | 2.282 | -9.011% | 2.325 | -7.297% | 2.293 | -8.573% | 2.327 | -7.217% | -5.102% | -4.139% | -2.391% | +0.345% | -1.461% | +1.972% |
inter-process 1-send/1-recv/0-reply/0-send 1k msgpass (with info) | msgpass -i -s96 | 2.555 | 2.493 | -2.427% | 2.429 | -4.932% | 2.424 | -5.127% | 2.356 | -7.789% | 2.368 | -7.319% | 2.332 | -8.728% | 2.367 | -7.358% | 2.331 | -8.767% | 2.379 | -6.888% | -5.054% | -4.035% | -1.856% | +0.467% | -1.563% | +2.015% |
inter-process 1-send/1-recv/0-reply/0-send 1k msgpass (with info) | msgpass -i -s128 | 2.582 | 2.531 | -1.975% | 2.472 | -4.260% | 2.465 | -4.531% | 2.400 | -7.049% | 2.410 | -6.662% | 2.363 | -8.482% | 2.409 | -6.700% | 2.380 | -7.823% | 2.407 | -6.778% | -4.820% | -3.722% | -2.353% | +0.375% | -1.245% | +1.862% |
inter-process 1-send/1-recv/0-reply/0-send 1k msgpass (with info) | msgpass -i -s192 | 2.659 | 2.709 | +1.880% | 2.643 | -0.602% | 2.656 | -0.113% | 2.611 | -1.805% | 2.595 | -2.407% | 2.545 | -4.287% | 2.585 | -2.783% | 2.547 | -4.212% | 2.584 | -2.821% | -4.577% | -3.632% | -2.711% | -0.996% | -1.850% | +1.532% |
inter-process 1-send/1-recv/0-reply/0-send 1k msgpass (with info) | msgpass -i -s256 | 2.726 | 2.795 | +2.531% | 2.737 | +0.404% | 2.729 | +0.110% | 2.653 | -2.678% | 2.684 | -1.541% | 2.634 | -3.375% | 2.673 | -1.944% | 2.634 | -3.375% | 2.683 | -1.577% | -4.365% | -3.763% | -1.686% | +0.754% | -1.863% | +1.860% |
inter-process 1-send/1-recv/0-reply/0-send 1k msgpass (with info) | msgpass -i -s512 | 2.955 | 3.144 | +6.396% | 3.060 | +3.553% | 2.994 | +1.320% | 2.949 | -0.203% | 2.918 | -1.252% | 2.905 | -1.692% | 2.897 | -1.963% | 2.937 | -0.609% | 2.970 | +0.508% | -7.856% | -4.020% | -0.802% | -1.763% | +0.651% | +2.238% |
inter-process 1-send/1-recv/0-reply/0-send 1k msgpass (with info) | msgpass -i -s1024 | 3.067 | 3.266 | +6.488% | 3.178 | +3.619% | 3.111 | +1.435% | 3.059 | -0.261% | 3.032 | -1.141% | 3.018 | -1.598% | 3.007 | -1.956% | 3.057 | -0.326% | 3.083 | +0.522% | -7.930% | -3.807% | -0.900% | -1.700% | +0.825% | +2.154% |
inter-process 1-send/1-recv/0-reply/0-send 2k msgpass (with info) | msgpass -i -s2048 | 3.312 | 3.497 | +5.586% | 3.431 | +3.593% | 3.326 | +0.423% | 3.288 | -0.725% | 3.257 | -1.661% | 3.231 | -2.446% | 3.237 | -2.264% | 3.273 | -1.178% | 3.323 | +0.332% | -7.435% | -4.605% | -0.090% | -1.551% | +0.491% | +2.847% |
inter-process 2-send/1-recv/0-reply/0-send 1k msgpass (with info) | msgpass -i -s16,0 | 2.381 | 2.447 | +2.772% | 2.387 | +0.252% | 2.403 | +0.924% | 2.334 | -1.974% | 2.334 | -1.974% | 2.289 | -3.864% | 2.326 | -2.310% | 2.282 | -4.158% | 2.325 | -2.352% | -4.945% | -4.399% | -3.246% | -0.343% | -2.228% | +1.573% |
inter-process 2-send/1-recv/0-reply/0-send 1k msgpass (with info) | msgpass -i -s16,16 | 2.450 | 2.466 | +0.653% | 2.392 | -2.367% | 2.379 | -2.898% | 2.344 | -4.327% | 2.344 | -4.327% | 2.316 | -5.469% | 2.352 | -4.000% | 2.307 | -5.837% | 2.353 | -3.959% | -4.623% | -3.554% | -1.093% | +0.341% | -1.578% | +1.598% |
inter-process 2-send/1-recv/0-reply/0-send 1k msgpass (with info) | msgpass -i -s16,32 | 2.493 | 2.486 | -0.281% | 2.411 | -3.289% | 2.416 | -3.089% | 2.362 | -5.255% | 2.368 | -5.014% | 2.326 | -6.699% | 2.369 | -4.974% | 2.322 | -6.859% | 2.360 | -5.335% | -4.706% | -3.691% | -2.318% | +0.296% | -1.943% | +1.462% |
inter-process 2-send/1-recv/0-reply/0-send 1k msgpass (with info) | msgpass -i -s16,64 | 2.643 | 2.527 | -4.389% | 2.448 | -7.378% | 2.449 | -7.340% | 2.397 | -9.308% | 2.406 | -8.967% | 2.367 | -10.443% | 2.412 | -8.740% | 2.360 | -10.708% | 2.414 | -8.664% | -4.551% | -3.595% | -1.429% | +0.626% | -1.912% | +1.986% |
inter-process 2-send/1-recv/0-reply/0-send 1k msgpass (with info) | msgpass -i -s16,96 | 2.661 | 2.566 | -3.570% | 2.497 | -6.163% | 2.490 | -6.426% | 2.443 | -8.192% | 2.449 | -7.967% | 2.407 | -9.545% | 2.452 | -7.854% | 2.410 | -9.433% | 2.446 | -8.080% | -4.443% | -3.484% | -1.767% | +0.368% | -1.592% | +1.620% |
inter-process 2-send/1-recv/0-reply/0-send 1k msgpass (with info) | msgpass -i -s16,128 | 2.727 | 2.647 | -2.934% | 2.582 | -5.317% | 2.580 | -5.391% | 2.547 | -6.601% | 2.538 | -6.931% | 2.488 | -8.764% | 2.530 | -7.224% | 2.478 | -9.131% | 2.529 | -7.261% | -4.420% | -4.028% | -1.977% | -0.667% | -2.364% | +1.648% |
inter-process 2-send/1-recv/0-reply/0-send 1k msgpass (with info) | msgpass -i -s16,192 | 2.779 | 2.774 | -0.180% | 2.702 | -2.771% | 2.701 | -2.807% | 2.639 | -5.038% | 2.675 | -3.742% | 2.626 | -5.506% | 2.660 | -4.282% | 2.611 | -6.045% | 2.656 | -4.426% | -4.110% | -3.368% | -1.666% | +0.796% | -2.393% | +1.142% |
inter-process 2-send/1-recv/0-reply/0-send 1k msgpass (with info) | msgpass -i -s16,240 | 2.846 | 2.847 | +0.035% | 2.771 | -2.635% | 2.802 | -1.546% | 2.738 | -3.795% | 2.745 | -3.549% | 2.690 | -5.481% | 2.726 | -4.216% | 2.676 | -5.973% | 2.727 | -4.181% | -4.250% | -3.428% | -2.677% | -0.438% | -2.514% | +1.375% |
inter-process 2-send/1-recv/0-reply/0-send 1k msgpass (with info) | msgpass -i -s16,256 | 2.980 | 3.151 | +5.738% | 3.101 | +4.060% | 3.083 | +3.456% | 2.984 | +0.134% | 2.933 | -1.577% | 2.934 | -1.544% | 2.931 | -1.644% | 2.951 | -0.973% | 2.992 | +0.403% | -6.982% | -4.837% | -2.952% | -1.776% | +0.614% | +1.977% |
inter-process 2-send/1-recv/0-reply/0-send 1k msgpass (with info) | msgpass -i -s16,512 | 3.044 | 3.205 | +5.289% | 3.154 | +3.614% | 3.139 | +3.121% | 3.046 | +0.066% | 2.996 | -1.577% | 2.989 | -1.807% | 2.984 | -1.971% | 3.008 | -1.183% | 3.051 | +0.230% | -6.895% | -4.629% | -2.803% | -2.035% | +0.401% | +2.074% |
inter-process 2-send/1-recv/0-reply/0-send 2k msgpass (with info) | msgpass -i -s16,1024 | 3.145 | 3.315 | +5.405% | 3.253 | +3.434% | 3.247 | +3.243% | 3.150 | +0.159% | 3.097 | -1.526% | 3.102 | -1.367% | 3.087 | -1.844% | 3.114 | -0.986% | 3.163 | +0.572% | -6.878% | -4.273% | -2.587% | -2.000% | +0.549% | +1.966% |
inter-process 2-send/1-recv/0-reply/0-send 3k msgpass (with info) | msgpass -i -s16,2048 | 3.422 | 3.572 | +4.383% | 3.529 | +3.127% | 3.492 | +2.046% | 3.400 | -0.643% | 3.348 | -2.162% | 3.326 | -2.805% | 3.341 | -2.367% | 3.360 | -1.812% | 3.421 | -0.029% | -6.467% | -4.789% | -2.033% | -1.735% | +0.358% | +2.856% |
Average Change | | | | +1.719% | | +1.287% | | +0.111% | | -2.425% | | -2.549% | | -1.315% | | -2.478% | | -3.371% | | -0.866% | -3.982% | -4.359% | -0.925% | -0.002% | -0.662% | +1.075% |
Size | | 550949 | 597526 | +8.454% | 655085 | +18.901% | 595062 | +8.007% | 625404 | +13.514% | 677515 | +22.972% | 596796 | +8.321% | 583875 | +5.976% | 671608 | +21.900% | 502574 | -8.780% | -2.285% | +2.522% | -15.543% | -6.640% | -0.872% | -15.788% |