1### Micro-benchmarks 2 3## Environment 4 5The benchmarks recorded below are obtained by running zircon-benchmarks in a 6release build of fuchsia via ssh. When the benchmarks are recorded the Fuchsia 7user shell (GPU-accelerated) is running but no user has yet logged in. 8 9These are the running processes at the time of the benchmark: 10 11``` 12 ps 13TASK PSS PRIVATE SHARED NAME 14j:1029 796.8M 783.9M root 15 p:1044 558.8M 558.8M 28k bin/devmgr 16 j:1078 48.1M 39.6M zircon-drivers 17 p:1752 180.8k 180k 28k devhost:root 18 p:1791 1596.8k 1596k 28k devhost:acpi 19 p:1840 592.8k 592k 28k devhost:misc 20 p:4684 35.0M 26.7M 16.5M devhost:pci#1:8086:5916 21 p:4730 1420.8k 1420k 28k devhost:pci#3:8086:9d2f 22 p:4858 8540.8k 8540k 28k devhost:pci#6:8086:9d03 23 p:4979 532.8k 532k 28k devhost:pci#14:8086:9d71 24 p:5052 546.8k 380k 360k devhost:pci#16:8086:15d8 25 j:1179 5745.4k 1624k zircon-services 26 p:1182 256.8k 256k 28k crashlogger 27 p:1330 4490.8k 440k 8128k virtual-console 28 p:1425 266.8k 200k 160k netsvc 29 p:4547 176.8k 176k 28k sh:console 30 p:6058 184.8k 184k 28k vc:sh 31 p:6093 184.8k 184k 28k vc:sh 32 p:6148 184.8k 184k 28k vc:sh 33 j:1180 184.3M 183.9M fuchsia 34 p:1234 588.8k 588k 28k appmgr 35 j:2000 183.8M 183.3M root 36 p:2045 688.8k 688k 28k bootstrap 37 j:2336 183.1M 182.6M boot 38 p:2427 1320.8k 1320k 28k wlanstack 39 p:2467 316.8k 316k 28k device_runner 40 p:2505 320.8k 320k 28k listen 41 p:2707 3532.8k 3432k 228k netstack 42 p:3001 288.8k 288k 28k device_runner_monitor 43 p:3101 468.8k 468k 28k netconnector 44 p:3412 336.8k 336k 28k trace_manager 45 p:3529 356.8k 356k 28k root_presenter 46 p:3587 124.2M 124.0M 404k flutter:userpicker_device_shell 47 p:3810 288.8k 288k 28k ktrace_provider 48 p:3955 332.8k 332k 28k view_manager 49 p:4110 49.2M 49.1M 356k scene_manager 50 p:4269 456.8k 456k 28k icu_data 51 p:4404 456.8k 456k 28k fonts 52 p:24555 296.8k 296k 28k oauth_token_manager 53 j:3240 1102.3k 1100k tcp:22 54 j:24964 1102.3k 1100k fe80::a2b3:ccff:fefb:4467:43218 55 p:24965 712.8k 712k 28k /system/bin/sshd 56 p:25157 216.8k 216k 28k /boot/bin/sh 57 p:25311 172.8k 172k 28k /boot/bin/ps 58 59``` 60 61The typical thread load of the system before running the benchmarks (via k threadload): 62 63``` 64 cpu load sched (cs ylds pmpts) pf sysc ints (hw tmr tmr_cb) ipi (rs gen) 65 0 0.01% 32 0 0 2 51 0 3 3 9 0 66 1 0.03% 255 0 0 3 496 0 115 115 10 0 67 2 0.45% 55 0 0 1 4218 6 11 11 8 0 68 3 0.02% 24 0 0 0 44 0 7 7 5 0 69 cpu load sched (cs ylds pmpts) pf sysc ints (hw tmr tmr_cb) ipi (rs gen) 70 0 0.00% 17 0 0 1 27 0 1 1 9 0 71 1 0.00% 13 0 0 1 19 0 2 2 8 0 72 2 0.48% 297 0 0 1 3800 5 129 129 6 1 73 3 0.02% 28 0 0 3 45 0 5 5 9 1 74 cpu load sched (cs ylds pmpts) pf sysc ints (hw tmr tmr_cb) ipi (rs gen) 75 0 0.16% 236 0 0 16 483 11 62 62 36 25 76 1 0.19% 96 0 0 35 344 0 5 5 27 39 77 2 0.57% 161 0 0 15 4715 6 15 15 53 31 78 3 0.15% 196 0 0 20 492 0 60 60 32 28 79``` 80 81It is believed that the running processes has a very minor impact on benchmark results. 82 83 84## Run 8-17-2017 85 86Intel NUC Model: NUC7i3BNK 87 88+ Processor: i3-7100U @ 2.40 GHz (Cache: 3M) 89+ Memory type: DDR4-2133 1.2V SO-DIMM 90+ Max Memory Bandwidth 34.1 GB/s 91 92``` 93buildid: GIT_5E66D79D5A167878ACF9A944AF92D0EBB6A60DF2 94ELF build ID: d1af6f49136a548ddc216a079f29341e7f4f8df9 95 96Benchmark Time CPU Iterations 97--------------------------------------------------------------------- 98Channel/Create 896 ns 897 ns 778195 99Channel/Write/64 728 ns 730 ns 950200 83.6564MB/s 100Channel/Write/1024 771 ns 773 ns 906612 1.23397GB/s 101Channel/Write/32k 2147 ns 2149 ns 323812 14.1992GB/s 102Channel/Write/64k 3600 ns 3599 ns 192480 16.9572GB/s 103Channel/Read/64 717 ns 718 ns 972365 85.0027MB/s 104Channel/Read/1024 750 ns 751 ns 934482 1.27003GB/s 105Channel/Read/32k 2102 ns 2101 ns 332341 14.5272GB/s 106Channel/Read/64k 3550 ns 3545 ns 198392 17.217GB/s 107ChannelMultiProcess/Write/64 88319 ns 1114 ns 100000 54.7862MB/s 108ChannelMultiProcess/Write/1024 238838 ns 1779 ns 100000 548.933MB/s 109ChannelMultiProcess/Write/32k 322097 ns 22632 ns 38626 1.34843GB/s 110ChannelMultiProcess/Write/64k 207986 ns 39543 ns 19765 1.54353GB/s 111ChannelMultiProcess/Read/64 1141 ns 1025 ns 671510 59.561MB/s 112ChannelMultiProcess/Read/1024 1292 ns 1148 ns 602280 850.681MB/s 113ChannelMultiProcess/Read/32k 19830 ns 5456 ns 128700 5.59307GB/s 114ChannelMultiProcess/Read/64k 38534 ns 10650 ns 67404 5.73121GB/s 115Event/Create 591 ns 594 ns 1181620 116Event/Close 681 ns 680 ns 1032407 117Event/Signal 201 ns 199 ns 3506137 118EventPair/Create 870 ns 871 ns 802191 119Fifo/Create 1030 ns 1028 ns 685065 120Port/Create/0 607 ns 610 ns 1146240 121Port/Create/0 607 ns 609 ns 1147258 122Socket/Write/64 698 ns 701 ns 1001960 87.0535MB/s 123Socket/Write/1024 717 ns 720 ns 969184 1.3249GB/s 124Socket/Write/32k 3055 ns 3047 ns 230028 10.0172GB/s 125Socket/Write/64k 5372 ns 5327 ns 131993 11.458GB/s 126Socket/Read/64 649 ns 652 ns 1073736 93.671MB/s 127Socket/Read/1024 673 ns 674 ns 1039222 1.41413GB/s 128Socket/Read/32k 2933 ns 2919 ns 240752 10.4564GB/s 129Socket/Read/64k 5986 ns 5945 ns 122719 10.2659GB/s 130Syscall/Null 69 ns 68 ns 10327057 131Syscall/ManyArgs 77 ns 76 ns 9134297 132Thread/Create 4992 ns 4967 ns 141135 133``` 134 135 136## Run 1-2-2018 137 138Same NUC as before 8-17-2017. 139 140``` 141buildid: git-6e45a186511c53445c17a4c387ae8368e3e25c4a 142ELF build ID: dd1f121de3039422aa0cc0f292055f3a53d01770 143 144Benchmark Time CPU Iterations 145----------------------------------------------------------------------------- 146Channel/Create 755 ns 758 ns 923119 147Channel/Write/64 618 ns 622 ns 1124585 98.0975MB/s 148Channel/Write/1024 656 ns 660 ns 1060610 1.44547GB/s 149Channel/Write/32k 1710 ns 1715 ns 411234 17.7992GB/s 150Channel/Write/64k 2728 ns 2732 ns 253504 22.3449GB/s 151Channel/Read/64 608 ns 611 ns 1144235 99.8811MB/s 152Channel/Read/1024 625 ns 629 ns 1113263 1.5171GB/s 153Channel/Read/32k 1691 ns 1697 ns 413080 17.9864GB/s 154Channel/Read/64k 2678 ns 2680 ns 194598 22.7719GB/s 155ChannelMultiProcess/Write/64 3937 ns 1533 ns 395465 39.8076MB/s 156ChannelMultiProcess/Write/1024 5035 ns 2039 ns 367404 478.838MB/s 157ChannelMultiProcess/Write/32k 6659 ns 6565 ns 99409 4.64865GB/s 158ChannelMultiProcess/Write/64k 10233 ns 10184 ns 72843 5.99321GB/s 159ChannelMultiProcess/Read/64 929 ns 785 ns 1003276 77.7725MB/s 160ChannelMultiProcess/Read/1024 1917 ns 1269 ns 635923 769.733MB/s 161ChannelMultiProcess/Read/32k 6939 ns 3926 ns 185505 7.77224GB/s 162ChannelMultiProcess/Read/64k 11143 ns 7238 ns 85510 8.43315GB/s 163Event/Create 508 ns 512 ns 1367132 164Event/Close 538 ns 541 ns 1293589 165Event/Signal 184 ns 184 ns 3795881 166Event/Duplicate 504 ns 507 ns 1379397 167Event/Replace 881 ns 888 ns 787550 168WaitItems/WaitForAlreadySignaledEvent 426 ns 426 ns 1640965 169WaitItems/WaitForManyAlread.....Event 904 ns 904 ns 774063 170EventPair/Create 754 ns 757 ns 909870 171Fifo/Create 866 ns 869 ns 805670 172Filesystem_Stat 9166 ns 5361 ns 127441 173Filesystem_Open 8450 ns 5094 ns 100000 174Filesystem_Fstat 92 ns 92 ns 6438952 175Mmu/MapUnmap 2788415 ns 2788416 ns 251 89.6567M items/s 176Mmu/MapUnmapWithFaults 47238357 ns 47238369 ns 15 677.415k items/s 177Null 2 ns 2 ns 343940286 178Port/Create/0 530 ns 534 ns 1309413 179Port/Create/0 530 ns 534 ns 1309573 180RoundTrip_BasicChannel_SingleProcess 6978 ns 2866 ns 272560 181RoundTrip_BasicChannel_MultiProcess 6423 ns 2598 ns 245377 182RoundTrip_ChannelPort_SingleProcess 19099 ns 7025 ns 100000 183RoundTrip_ChannelPort_MultiProcess 6802 ns 3578 ns 201762 184RoundTrip_ChannelCall_SingleProcess 5976 ns 2054 ns 299455 185RoundTrip_ChannelCall_MultiProcess 6452 ns 2248 ns 352439 186RoundTrip_Port_SingleProcess 5240 ns 2044 ns 364514 187RoundTrip_Port_MultiProcess 5277 ns 2050 ns 350067 188RoundTrip_Fidl_SingleProcess 7557 ns 3431 ns 202477 189RoundTrip_Fidl_MultiProcess 7952 ns 3529 ns 191490 190RoundTrip_Futex_SingleProcess 1919 ns 733 ns 774109 191RoundTrip_PthreadCondvar_SingleProcess 5009 ns 1958 ns 337155 192Socket/Write/64 620 ns 624 ns 1105152 97.8442MB/s 193Socket/Write/1024 642 ns 645 ns 1085336 1.47847GB/s 194Socket/Write/32k 2441 ns 2442 ns 286410 12.4976GB/s 195Socket/Write/64k 4355 ns 4357 ns 165482 14.0074GB/s 196Socket/Read/64 566 ns 570 ns 1227297 107.058MB/s 197Socket/Read/1024 585 ns 589 ns 1188832 1.61839GB/s 198Socket/Read/32k 2424 ns 2434 ns 287447 12.5394GB/s 199Socket/Read/64k 4268 ns 4276 ns 157620 14.2755GB/s 200Syscall/Null 66 ns 66 ns 10633067 201Syscall/ManyArgs 73 ns 73 ns 9628920 202Thread/Create 180160 ns 180210 ns 10000 203Thread/CreateAndJoin 533727 ns 529902 ns 1639 204TimeGetMonotonic 84 ns 84 ns 8334566 205TimeGetUtc 84 ns 84 ns 8315454 206TimeGetThread 114 ns 114 ns 6163473 207TicksGet 11 ns 11 ns 62389940 208Vmo/Create 713 ns 718 ns 976569 209 210``` 211 212## Channels benchmark change from baseline 213 214Baseline is 8-17-2017 215 216``` 217 1-2-18 218------------------------------------------- 219Channel/Create 18.68% 220Channel/Write/64 17.80% 221Channel/Write/1024 17.53% 222Channel/Write/32k 25.56% 223Channel/Write/64k 31.96% 224Channel/Read/64 17.93% 225Channel/Read/1024 20.00% 226Channel/Read/32k 24.31% 227Channel/Read/64k 32.56% 228ChannelMultiProcess/Write/64 2143.31% 229ChannelMultiProcess/Write/1024 4643.56% 230ChannelMultiProcess/Write/32k 4737.02% 231ChannelMultiProcess/Write/64k 1932.50% 232ChannelMultiProcess/Read/64 22.82% 233ChannelMultiProcess/Read/1024 -32.60% (decrease) 234ChannelMultiProcess/Read/32k 185.78% 235ChannelMultiProcess/Read/64k 245.81% 236``` 237 238## Events benchmark change from baseline 239 240Baseline is 8-17-2017 241 242``` 243 1-2-18 244------------------------------------------ 245Event/Create 16.34% 246Event/Close 26.58% 247Event/Signal 9.24% 248``` 249 250## Socket benchmark change from baseline 251 252Baseline is 8-17-2017 253 254``` 255 1-2-18 256------------------------------------------ 257Socket/Write/64 12.58% 258Socket/Write/1024 11.68% 259Socket/Write/32k 25.15% 260Socket/Write/64k 23.35% 261Socket/Read/64 14.66% 262Socket/Read/1024 15.04% 263Socket/Read/32k 21.00% 264Socket/Read/64k 40.25% 265 266``` 267