Benchmarks
While you read this sentence*, one processor core reads 320 000 000 protocol frames.
These are our own measurements of our own code. We do not publish other products' numbers: we have not measured them.
Each number is the median of three runs of a Go benchmark on the named machine, in time per operation. Fewer memory allocations mean less work for the garbage collector, and so steadier latency under load.
A micro-benchmark measures one step on a warm processor, not a whole delivery: the network, the disk and the other side add their own time. Lower is better.
Each comparison uses the fastest processor's time; the speed or frequency it rests on is given in brackets.
* An average reader reads a sentence in about three seconds (238 words a minute, Brysbaert 2019).
Protocol frames
| Operation | Apple M3 Max | Intel Xeon D-1531 | Intel Core i5-3380M | ARM Cortex-A76 / Cortex-A55 | What it shows |
|---|---|---|---|---|---|
| Encode a frame into a buffer, one core | 20.3 ns memory allocations: 0 | 49.2 ns memory allocations: 0 | 46.4 ns memory allocations: 0 | 65.4 ns memory allocations: 0 | Every message, call packet and piece of a file is packed into a frame before it leaves. How many fit into one firing of a neuron in your brain (about 1 ms): 49 000. |
| Encode a frame, all cores at once (time per frame) | 3.2 ns memory allocations: 0 | 11.2 ns memory allocations: 0 | 23.1 ns memory allocations: 0 | 20.3 ns memory allocations: 0 | The same packing on every core of one computer at once: hundreds of millions of frames a second. How many fit into one camera flash (about 1 ms): 320 000. |
| Decode a frame | 9.5 ns memory allocations: 0 | 30.3 ns memory allocations: 0 | 24.1 ns memory allocations: 0 | 33.3 ns memory allocations: 0 | Reading an incoming frame, the first thing done with everything that arrives. Meanwhile light in a vacuum (300,000 km/s) covers 2.8 m. |
| Encode and decode a media frame's header and payload | 207 ns memory allocations: 1 | 1.4 µs memory allocations: 1 | 1.0 µs memory allocations: 1 | 914 ns memory allocations: 1 | Packing and reading a piece of a call's sound or picture together with its timing. How many fit into one wing beat of a mosquito (600 a second): 8 100. |
End-to-end encryption
| Operation | Apple M3 Max | Intel Xeon D-1531 | Intel Core i5-3380M | ARM Cortex-A76 / Cortex-A55 | What it shows |
|---|---|---|---|---|---|
| Encrypt an audio frame of a call (100 bytes) | 128 ns memory allocations: 2 | 838 ns memory allocations: 2 | 844 ns memory allocations: 2 | 502 ns memory allocations: 2 | Every 20 milliseconds of your voice is encrypted on your device before it leaves; this is one such piece. Meanwhile a cheetah at full speed (29 m/s) runs only 3.7 µm — thinner than a human hair (about 70 µm). |
| Encrypt a video frame of a call (20 KB) | 2.7 µs memory allocations: 2 | 12.2 µs memory allocations: 2 | 17.9 µs memory allocations: 2 | 13.3 µs memory allocations: 2 | One piece of a video frame encrypted end to end, so only the people in the call can see it. How many fit into one snap of your fingers (about 7 ms): 2 600. |
| Encrypt a message, with a fresh key for every message | 1.4 µs memory allocations: 7 | 23.1 µs memory allocations: 7 | 28.5 µs memory allocations: 7 | 8.5 µs memory allocations: 7 | Each message gets a key of its own, so one leaked key opens nothing else; this is what that costs per message. How many fit into one heartbeat (72 beats a minute): 590 000. |
| Decrypt a message | 1.5 µs memory allocations: 8 | 23.2 µs memory allocations: 8 | 30.1 µs memory allocations: 8 | 8.7 µs memory allocations: 8 | Opening such a message on the other side. How many fit into one spoken word (150 words a minute): 270 000. |
| Verify a user's signed list of devices | 35.7 µs memory allocations: 9 | 216 µs memory allocations: 9 | 195 µs memory allocations: 9 | 299 µs memory allocations: 9 | Before encrypting to someone, the app checks that their list of devices is signed by them, so nobody can slip in a device of their own. Meanwhile a signal along your fastest nerves (120 m/s) runs 4.3 mm. |
| Encrypt a 50 MB file | 10.7 ms memory allocations: 3207 | 103 ms memory allocations: 3207 | 116 ms memory allocations: 3207 | 71.4 ms memory allocations: 3207 | A 50 MB video encrypted on your device before it is sent. Meanwhile Voyager 1 (17 km/s) flies 180 m. |
| Decrypt a 50 MB file | 8.1 ms memory allocations: 1605 | 36.0 ms memory allocations: 1605 | 50.6 ms memory allocations: 1605 | 40.0 ms memory allocations: 1605 | The same video decrypted on the receiver's device. Wing beats of a honeybee (230 a second) meanwhile: 1.9. |
Server: calls and groups
| Operation | Apple M3 Max | Intel Xeon D-1531 | Intel Core i5-3380M | ARM Cortex-A76 / Cortex-A55 | What it shows |
|---|---|---|---|---|---|
| Take in an audio frame of a call | 95.5 ns memory allocations: 1 | 650 ns memory allocations: 1 | 216 ns memory allocations: 1 | 453 ns memory allocations: 1 | The server taking in a piece of someone's voice during a call. How many fit into one frame of a cinema film (24 a second): 440 000. |
| Take in a video fragment of a call | 315 ns memory allocations: 1 | 1.7 µs memory allocations: 1 | 797 ns memory allocations: 1 | 1.5 µs memory allocations: 1 | The server taking in a piece of someone's picture during a call. How many fit into one wing beat of a hummingbird (50 a second): 64 000. |
| Route an incoming audio frame | 68.2 ns memory allocations: 1 | 348 ns memory allocations: 1 | 267 ns memory allocations: 1 | 359 ns memory allocations: 1 | Deciding where an incoming piece of voice goes next. Swings of a wave of green light (545 THz) meanwhile: 37 000 000. |
| Pass a call's frame to the other side of a direct call | 241 ns memory allocations: 1 | 1.9 µs memory allocations: 1 | 1.4 µs memory allocations: 1 | 1.9 µs memory allocations: 1 | Passing a call's packet to the other person in a one-to-one call. How many fit into the half-life of polonium-212, the time half of its atoms decay (299 ns): 1.2. |
| Send a video frame to 8 viewers of a group call | 1.5 µs memory allocations: 8 | 13.9 µs memory allocations: 8 | 6.3 µs memory allocations: 8 | 13.2 µs memory allocations: 8 | The server's whole work to send one video frame to 8 people in a group call. Meanwhile a mantis shrimp's claw, one of the fastest strikes in nature (23 m/s), moves only 34 µm — thinner than a human hair (about 70 µm). |
| Send a video frame to 64 viewers | 11.1 µs memory allocations: 64 | 88.3 µs memory allocations: 64 | 46.6 µs memory allocations: 64 | 84.3 µs memory allocations: 64 | The same for 64 people. Meanwhile the Moon on its orbit (1.02 km/s) moves 11 mm. |
| Send a video frame to 255 viewers | 42.8 µs memory allocations: 255 | 336 µs memory allocations: 255 | 187 µs memory allocations: 255 | 331 µs memory allocations: 255 | The same for 255 people. Meanwhile Usain Bolt at his top speed (12.4 m/s) runs only 530 µm. |
| Send a speaking voice to 255 participants | 8.9 µs memory allocations: 255 | 93.7 µs memory allocations: 255 | 34.7 µs memory allocations: 255 | 75.2 µs memory allocations: 255 | Sending the voice of whoever is speaking to everyone in a call of 255. Meanwhile the ball of the fastest tennis serve on record (73 m/s) flies only 650 µm. |
| Drop a muted voice | 33.3 ns memory allocations: 0 | 137 ns memory allocations: 0 | 98.3 ns memory allocations: 0 | 127 ns memory allocations: 0 | A muted microphone's sound is dropped at once and costs next to nothing. Meanwhile a bullet from the fastest production cartridge, the .220 Swift (about 1,220 m/s), flies only 41 µm — thinner than a human hair (about 70 µm). |
| Store and hand out a message in a group of 1,000 members | 48.9 µs memory allocations: 73 | 367 µs memory allocations: 72 | 128 µs memory allocations: 71 | 212 µs memory allocations: 71 | A message in a group of 1,000 members saved and handed out to all of them. How many fit into 0.1 s, the fastest reaction to the start gun World Athletics accepts: 2 000. |
| Queue a video frame on a connection | 369 ns memory allocations: 2 | 2.8 µs memory allocations: 2 | 1.1 µs memory allocations: 2 | 1.9 µs memory allocations: 2 | Putting a video frame into a connection's queue to be sent. How many fit into the fastest shutter of a camera (1/4000 s): 680. |
| Pass a media frame between threads | 218 ns memory allocations: 0 | 378 ns memory allocations: 0 | 126 ns memory allocations: 0 | 210 ns memory allocations: 0 | Handing a piece of a call from one processor core to another. How many fit into one vibration of the piano's A (440 Hz): 18 000. |
| Forward an audio packet to 4 participants through stream buffers | 267 ns memory allocations: 0 | 594 ns memory allocations: 0 | 560 ns memory allocations: 0 | 795 ns memory allocations: 0 | Forwarding a piece of sound to the 4 others in a call through their buffers. Meanwhile a peregrine falcon in its dive (90 m/s) drops only 24 µm — thinner than a human hair (about 70 µm). |
Client SDK
| Operation | Apple M3 Max | Intel Xeon D-1531 | Intel Core i5-3380M | ARM Cortex-A76 / Cortex-A55 | What it shows |
|---|---|---|---|---|---|
| Encrypt and decrypt a message with the key store | 5.2 µs memory allocations: 33 | 64.1 µs memory allocations: 28 | 74.0 µs memory allocations: 28 | 32.0 µs memory allocations: 28 | On your device: encrypting a message and decrypting the reply, keys included. How many fit into one blink of an eye (about 0.3 s): 58 000. |
| Take in a video fragment | 46.3 ns memory allocations: 2 | 502 ns memory allocations: 2 | 382 ns memory allocations: 2 | 376 ns memory allocations: 2 | On your device: taking in a piece of the picture of a call. How many fit into one yawn (about 6 s): 130 000 000. |
| Cut a video frame into fragments and keep it for a resend | 6.2 µs memory allocations: 15 | 30.0 µs memory allocations: 15 | 28.7 µs memory allocations: 15 | 25.5 µs memory allocations: 15 | On your device: cutting a video frame into network pieces and keeping it in case one is lost. Meanwhile the International Space Station (7.66 km/s) flies 48 mm. |
Even the Flash couldn't see us parse a frame. Then again, nobody has measured the Flash in a lab.
Raw output
Every run as Go printed it, with the processor and the date:
Apple M3 Max, 2026-11-02
# date: 2026-11-02T15:37Z # go: go1.27.3 darwin/arm64, CGO_ENABLED=0 # benchtime: 4s, count: 3 # cpu: Apple M3 Max, 16 cores, 64 GB BenchmarkEncodeInto_Parallel-16 1000000000 3.154 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto_Parallel-16 1000000000 3.367 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto_Parallel-16 1000000000 3.131 ns/op 0 B/op 0 allocs/op BenchmarkDecodeIntoPooled-16 504770032 9.490 ns/op 0 B/op 0 allocs/op BenchmarkDecodeIntoPooled-16 506056022 9.457 ns/op 0 B/op 0 allocs/op BenchmarkDecodeIntoPooled-16 507194679 9.486 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto-16 237371084 20.26 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto-16 236236466 20.08 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto-16 236528295 20.31 ns/op 0 B/op 0 allocs/op BenchmarkEncodeDecodeMediaFramePayload_RoundTrip-16 23088573 206.8 ns/op 1536 B/op 1 allocs/op BenchmarkEncodeDecodeMediaFramePayload_RoundTrip-16 22862259 202.7 ns/op 1536 B/op 1 allocs/op BenchmarkEncodeDecodeMediaFramePayload_RoundTrip-16 21501160 219.4 ns/op 1536 B/op 1 allocs/op BenchmarkCallSeal/audio100B-16 36842448 128.7 ns/op 777.23 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/audio100B-16 37917124 128.5 ns/op 778.00 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/audio100B-16 37502478 128.1 ns/op 780.36 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/video20KB-16 1785961 2693 ns/op 7426.11 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/video20KB-16 1777422 2696 ns/op 7418.21 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/video20KB-16 1780614 2701 ns/op 7404.46 MB/s 32 B/op 2 allocs/op BenchmarkSealMessage-16 3386436 1406 ns/op 2000 B/op 7 allocs/op BenchmarkSealMessage-16 3418846 1410 ns/op 2000 B/op 7 allocs/op BenchmarkSealMessage-16 3370858 1428 ns/op 2000 B/op 7 allocs/op BenchmarkOpenMessage-16 3288679 1459 ns/op 2000 B/op 8 allocs/op BenchmarkOpenMessage-16 3277401 1457 ns/op 2000 B/op 8 allocs/op BenchmarkOpenMessage-16 3389536 1413 ns/op 2000 B/op 8 allocs/op BenchmarkRecordVerify-16 135189 35588 ns/op 7240 B/op 9 allocs/op BenchmarkRecordVerify-16 134028 36342 ns/op 7240 B/op 9 allocs/op BenchmarkRecordVerify-16 132242 35657 ns/op 7240 B/op 9 allocs/op BenchmarkSealFile50MB-16 451 10555046 ns/op 4967.18 MB/s 111632562 B/op 3207 allocs/op BenchmarkSealFile50MB-16 444 10728085 ns/op 4887.06 MB/s 111632586 B/op 3207 allocs/op BenchmarkSealFile50MB-16 450 10818007 ns/op 4846.44 MB/s 111632563 B/op 3207 allocs/op BenchmarkOpenFile50MB-16 588 8339192 ns/op 6287.04 MB/s 366384 B/op 1605 allocs/op BenchmarkOpenFile50MB-16 596 8060851 ns/op 6504.13 MB/s 366384 B/op 1605 allocs/op BenchmarkOpenFile50MB-16 596 8050707 ns/op 6512.32 MB/s 366384 B/op 1605 allocs/op BenchmarkFanOutMedia/members_2-16 16989366 285.5 ns/op 1280 B/op 1 allocs/op BenchmarkFanOutMedia/members_2-16 19884364 240.9 ns/op 1280 B/op 1 allocs/op BenchmarkFanOutMedia/members_2-16 20752706 227.0 ns/op 1280 B/op 1 allocs/op BenchmarkMediaIngress/audio/plain-16 48916843 95.52 ns/op 128 B/op 1 allocs/op BenchmarkMediaIngress/audio/plain-16 47636355 96.77 ns/op 128 B/op 1 allocs/op BenchmarkMediaIngress/audio/plain-16 54385850 94.67 ns/op 128 B/op 1 allocs/op BenchmarkMediaIngress/video/plain-16 15539823 313.7 ns/op 1281 B/op 1 allocs/op BenchmarkMediaIngress/video/plain-16 15261049 314.9 ns/op 1281 B/op 1 allocs/op BenchmarkMediaIngress/video/plain-16 14410549 321.3 ns/op 1281 B/op 1 allocs/op BenchmarkFanOutGroupVideo/subscribers=8-16 2356322 1960 ns/op 11014 B/op 8 allocs/op BenchmarkFanOutGroupVideo/subscribers=8-16 3278673 1476 ns/op 11012 B/op 8 allocs/op BenchmarkFanOutGroupVideo/subscribers=8-16 3116676 1486 ns/op 11012 B/op 8 allocs/op BenchmarkFanOutGroupVideo/subscribers=64-16 441787 11313 ns/op 82720 B/op 64 allocs/op BenchmarkFanOutGroupVideo/subscribers=64-16 385519 10771 ns/op 82719 B/op 64 allocs/op BenchmarkFanOutGroupVideo/subscribers=64-16 414454 11073 ns/op 82720 B/op 64 allocs/op BenchmarkFanOutGroupVideo/subscribers=255-16 112650 42810 ns/op 327284 B/op 255 allocs/op BenchmarkFanOutGroupVideo/subscribers=255-16 106978 43832 ns/op 327287 B/op 255 allocs/op BenchmarkFanOutGroupVideo/subscribers=255-16 112598 42645 ns/op 327284 B/op 255 allocs/op BenchmarkFanOutGroupAudio/in_set-16 518439 9284 ns/op 38647 B/op 255 allocs/op BenchmarkFanOutGroupAudio/in_set-16 553611 8946 ns/op 38647 B/op 255 allocs/op BenchmarkFanOutGroupAudio/in_set-16 528856 8688 ns/op 38646 B/op 255 allocs/op BenchmarkFanOutGroupAudio/muted-16 143029897 33.50 ns/op 0 B/op 0 allocs/op BenchmarkFanOutGroupAudio/muted-16 144313339 33.33 ns/op 0 B/op 0 allocs/op BenchmarkFanOutGroupAudio/muted-16 143070267 33.17 ns/op 0 B/op 0 allocs/op BenchmarkGroupSend_1000Members-16 97407 48582 ns/op 6738 B/op 73 allocs/op BenchmarkGroupSend_1000Members-16 97256 49208 ns/op 6737 B/op 73 allocs/op BenchmarkGroupSend_1000Members-16 98064 48878 ns/op 6734 B/op 73 allocs/op BenchmarkRouteFrame_MediaAudio-16 69810270 67.52 ns/op 16 B/op 1 allocs/op BenchmarkRouteFrame_MediaAudio-16 71526848 68.55 ns/op 16 B/op 1 allocs/op BenchmarkRouteFrame_MediaAudio-16 67967208 68.21 ns/op 16 B/op 1 allocs/op BenchmarkSendFrame_MediaVideo-16 12772462 380.0 ns/op 2081 B/op 2 allocs/op BenchmarkSendFrame_MediaVideo-16 12805062 368.6 ns/op 2081 B/op 2 allocs/op BenchmarkSendFrame_MediaVideo-16 15066264 309.5 ns/op 2080 B/op 2 allocs/op BenchmarkRingBuffer_SPSC_Media/Write-16 29066954 146.9 ns/op 0 B/op 0 allocs/op BenchmarkRingBuffer_SPSC_Media/Write-16 22442206 217.5 ns/op 0 B/op 0 allocs/op BenchmarkRingBuffer_SPSC_Media/Write-16 21782367 217.6 ns/op 0 B/op 0 allocs/op BenchmarkFullPipeline_MediaForward-16 18385899 266.2 ns/op 0 B/op 0 allocs/op BenchmarkFullPipeline_MediaForward-16 18752104 275.7 ns/op 0 B/op 0 allocs/op BenchmarkFullPipeline_MediaForward-16 18662005 267.1 ns/op 0 B/op 0 allocs/op BenchmarkE2EESealOpen-16 921933 5162 ns/op 6289 B/op 33 allocs/op BenchmarkE2EESealOpen-16 1000000 5196 ns/op 6433 B/op 33 allocs/op BenchmarkE2EESealOpen-16 1000000 5252 ns/op 6493 B/op 33 allocs/op BenchmarkSendVideoFrame_Kept-16 1000000 5487 ns/op 10151 B/op 15 allocs/op BenchmarkSendVideoFrame_Kept-16 1000000 6214 ns/op 10151 B/op 15 allocs/op BenchmarkSendVideoFrame_Kept-16 1000000 6849 ns/op 10151 B/op 15 allocs/op BenchmarkHandleMediaFrame_Video-16 100000000 46.28 ns/op 79 B/op 2 allocs/op BenchmarkHandleMediaFrame_Video-16 100000000 45.51 ns/op 79 B/op 2 allocs/op BenchmarkHandleMediaFrame_Video-16 99449917 46.58 ns/op 78 B/op 2 allocs/op
Intel Xeon D-1531, 2026-11-02
# date: 2026-11-02T15:24Z # go: go1.27.3 linux/amd64, CGO_ENABLED=0 # benchtime: 4s, count: 3 # cpu: Intel(R) Xeon(R) CPU D-1531 @ 2.20GHz, 12 cores, 30 GB BenchmarkEncodeInto_Parallel-12 426285850 11.22 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto_Parallel-12 564850032 11.35 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto_Parallel-12 745559997 6.604 ns/op 0 B/op 0 allocs/op BenchmarkDecodeIntoPooled-12 154246438 29.99 ns/op 0 B/op 0 allocs/op BenchmarkDecodeIntoPooled-12 160913011 30.50 ns/op 0 B/op 0 allocs/op BenchmarkDecodeIntoPooled-12 149424217 30.33 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto-12 95576382 49.29 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto-12 96809577 49.19 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto-12 87528913 49.16 ns/op 0 B/op 0 allocs/op BenchmarkEncodeDecodeMediaFramePayload_RoundTrip-12 3827731 1441 ns/op 1536 B/op 1 allocs/op BenchmarkEncodeDecodeMediaFramePayload_RoundTrip-12 3398870 1372 ns/op 1536 B/op 1 allocs/op BenchmarkEncodeDecodeMediaFramePayload_RoundTrip-12 3610368 1433 ns/op 1536 B/op 1 allocs/op BenchmarkCallSeal/audio100B-12 5639319 794.3 ns/op 125.90 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/audio100B-12 5745420 859.5 ns/op 116.35 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/audio100B-12 5486569 838.4 ns/op 119.28 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/video20KB-12 394490 12256 ns/op 1631.91 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/video20KB-12 387884 12194 ns/op 1640.10 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/video20KB-12 364636 11781 ns/op 1697.61 MB/s 32 B/op 2 allocs/op BenchmarkSealMessage-12 181906 23364 ns/op 2000 B/op 7 allocs/op BenchmarkSealMessage-12 222669 22192 ns/op 2000 B/op 7 allocs/op BenchmarkSealMessage-12 187498 23129 ns/op 2000 B/op 7 allocs/op BenchmarkOpenMessage-12 197852 23214 ns/op 2000 B/op 8 allocs/op BenchmarkOpenMessage-12 239305 22238 ns/op 2000 B/op 8 allocs/op BenchmarkOpenMessage-12 183633 24050 ns/op 2000 B/op 8 allocs/op BenchmarkRecordVerify-12 24093 207867 ns/op 7240 B/op 9 allocs/op BenchmarkRecordVerify-12 22466 222306 ns/op 7240 B/op 9 allocs/op BenchmarkRecordVerify-12 22504 215656 ns/op 7240 B/op 9 allocs/op BenchmarkSealFile50MB-12 42 102326386 ns/op 512.37 MB/s 111632268 B/op 3207 allocs/op BenchmarkSealFile50MB-12 82 103035209 ns/op 508.84 MB/s 111632148 B/op 3207 allocs/op BenchmarkSealFile50MB-12 49 105321591 ns/op 497.80 MB/s 111632402 B/op 3207 allocs/op BenchmarkOpenFile50MB-12 132 36527806 ns/op 1435.31 MB/s 366384 B/op 1605 allocs/op BenchmarkOpenFile50MB-12 132 35998909 ns/op 1456.40 MB/s 366384 B/op 1605 allocs/op BenchmarkOpenFile50MB-12 135 35599738 ns/op 1472.73 MB/s 366384 B/op 1605 allocs/op BenchmarkFanOutMedia/members_2-12 2223702 2192 ns/op 1280 B/op 1 allocs/op BenchmarkFanOutMedia/members_2-12 2395420 1940 ns/op 1280 B/op 1 allocs/op BenchmarkFanOutMedia/members_2-12 2730670 1746 ns/op 1280 B/op 1 allocs/op BenchmarkMediaIngress/audio/plain-12 10278273 649.8 ns/op 128 B/op 1 allocs/op BenchmarkMediaIngress/audio/plain-12 7886887 631.7 ns/op 128 B/op 1 allocs/op BenchmarkMediaIngress/audio/plain-12 6403392 680.9 ns/op 128 B/op 1 allocs/op BenchmarkMediaIngress/video/plain-12 2598075 1681 ns/op 1281 B/op 1 allocs/op BenchmarkMediaIngress/video/plain-12 2828007 1812 ns/op 1281 B/op 1 allocs/op BenchmarkMediaIngress/video/plain-12 2971468 1744 ns/op 1281 B/op 1 allocs/op BenchmarkFanOutGroupVideo/subscribers=8-12 409371 15174 ns/op 11013 B/op 8 allocs/op BenchmarkFanOutGroupVideo/subscribers=8-12 387454 13918 ns/op 11012 B/op 8 allocs/op BenchmarkFanOutGroupVideo/subscribers=8-12 369820 11694 ns/op 11012 B/op 8 allocs/op BenchmarkFanOutGroupVideo/subscribers=64-12 57816 88903 ns/op 82717 B/op 64 allocs/op BenchmarkFanOutGroupVideo/subscribers=64-12 57054 80356 ns/op 82717 B/op 64 allocs/op BenchmarkFanOutGroupVideo/subscribers=64-12 49814 88264 ns/op 82717 B/op 64 allocs/op BenchmarkFanOutGroupVideo/subscribers=255-12 14289 336441 ns/op 327282 B/op 255 allocs/op BenchmarkFanOutGroupVideo/subscribers=255-12 14334 329034 ns/op 327282 B/op 255 allocs/op BenchmarkFanOutGroupVideo/subscribers=255-12 14161 343431 ns/op 327281 B/op 255 allocs/op BenchmarkFanOutGroupAudio/in_set-12 55279 97136 ns/op 38646 B/op 255 allocs/op BenchmarkFanOutGroupAudio/in_set-12 53641 92363 ns/op 38646 B/op 255 allocs/op BenchmarkFanOutGroupAudio/in_set-12 64398 93707 ns/op 38646 B/op 255 allocs/op BenchmarkFanOutGroupAudio/muted-12 35486358 142.3 ns/op 0 B/op 0 allocs/op BenchmarkFanOutGroupAudio/muted-12 31994094 136.8 ns/op 0 B/op 0 allocs/op BenchmarkFanOutGroupAudio/muted-12 36242248 136.8 ns/op 0 B/op 0 allocs/op BenchmarkGroupSend_1000Members-12 12096 360862 ns/op 7743 B/op 72 allocs/op BenchmarkGroupSend_1000Members-12 13513 367267 ns/op 7594 B/op 72 allocs/op BenchmarkGroupSend_1000Members-12 13586 377079 ns/op 7580 B/op 72 allocs/op BenchmarkRouteFrame_MediaAudio-12 15414775 348.1 ns/op 16 B/op 1 allocs/op BenchmarkRouteFrame_MediaAudio-12 12242936 354.9 ns/op 16 B/op 1 allocs/op BenchmarkRouteFrame_MediaAudio-12 15687060 338.2 ns/op 16 B/op 1 allocs/op BenchmarkSendFrame_MediaVideo-12 1604983 2788 ns/op 2080 B/op 2 allocs/op BenchmarkSendFrame_MediaVideo-12 1841704 3122 ns/op 2080 B/op 2 allocs/op BenchmarkSendFrame_MediaVideo-12 1741256 2841 ns/op 2080 B/op 2 allocs/op BenchmarkRingBuffer_SPSC_Media/Write-12 22765195 378.4 ns/op 0 B/op 0 allocs/op BenchmarkRingBuffer_SPSC_Media/Write-12 12213650 334.2 ns/op 0 B/op 0 allocs/op BenchmarkRingBuffer_SPSC_Media/Write-12 11657671 422.6 ns/op 0 B/op 0 allocs/op BenchmarkFullPipeline_MediaForward-12 7482218 594.0 ns/op 0 B/op 0 allocs/op BenchmarkFullPipeline_MediaForward-12 7721034 585.0 ns/op 0 B/op 0 allocs/op BenchmarkFullPipeline_MediaForward-12 7918773 602.5 ns/op 0 B/op 0 allocs/op BenchmarkE2EESealOpen-12 68706 64129 ns/op 4344 B/op 28 allocs/op BenchmarkE2EESealOpen-12 81541 63503 ns/op 4376 B/op 28 allocs/op BenchmarkE2EESealOpen-12 83989 66415 ns/op 4381 B/op 28 allocs/op BenchmarkSendVideoFrame_Kept-12 253933 28292 ns/op 10071 B/op 15 allocs/op BenchmarkSendVideoFrame_Kept-12 455150 34245 ns/op 10036 B/op 15 allocs/op BenchmarkSendVideoFrame_Kept-12 489981 29963 ns/op 10044 B/op 15 allocs/op BenchmarkHandleMediaFrame_Video-12 10623702 501.6 ns/op 70 B/op 2 allocs/op BenchmarkHandleMediaFrame_Video-12 11533372 479.8 ns/op 71 B/op 2 allocs/op BenchmarkHandleMediaFrame_Video-12 8887135 504.2 ns/op 70 B/op 2 allocs/op
Intel Core i5-3380M, 2026-11-02
# date: 2026-11-02T14:59Z # go: go1.27.3 linux/amd64, CGO_ENABLED=0 # benchtime: 4s, count: 3 # cpu: Intel(R) Core(TM) i5-3380M CPU @ 2.90GHz, 4 cores, 11 GB BenchmarkEncodeInto_Parallel-4 206971063 23.00 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto_Parallel-4 206572972 23.08 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto_Parallel-4 206144238 23.12 ns/op 0 B/op 0 allocs/op BenchmarkDecodeIntoPooled-4 201967788 23.97 ns/op 0 B/op 0 allocs/op BenchmarkDecodeIntoPooled-4 201819664 24.16 ns/op 0 B/op 0 allocs/op BenchmarkDecodeIntoPooled-4 199096726 24.06 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto-4 104718105 46.35 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto-4 102565275 45.83 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto-4 104559994 46.41 ns/op 0 B/op 0 allocs/op BenchmarkEncodeDecodeMediaFramePayload_RoundTrip-4 5150809 948.4 ns/op 1536 B/op 1 allocs/op BenchmarkEncodeDecodeMediaFramePayload_RoundTrip-4 4739380 1007 ns/op 1536 B/op 1 allocs/op BenchmarkEncodeDecodeMediaFramePayload_RoundTrip-4 5008515 1035 ns/op 1536 B/op 1 allocs/op BenchmarkCallSeal/audio100B-4 5835325 843.7 ns/op 118.53 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/audio100B-4 5227850 833.9 ns/op 119.92 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/audio100B-4 5202028 876.8 ns/op 114.05 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/video20KB-4 266950 17921 ns/op 1115.98 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/video20KB-4 270957 17892 ns/op 1117.81 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/video20KB-4 263685 18082 ns/op 1106.09 MB/s 32 B/op 2 allocs/op BenchmarkSealMessage-4 156243 28515 ns/op 2000 B/op 7 allocs/op BenchmarkSealMessage-4 152851 28925 ns/op 2000 B/op 7 allocs/op BenchmarkSealMessage-4 166066 27881 ns/op 2000 B/op 7 allocs/op BenchmarkOpenMessage-4 155019 30212 ns/op 2000 B/op 8 allocs/op BenchmarkOpenMessage-4 172021 30138 ns/op 2000 B/op 8 allocs/op BenchmarkOpenMessage-4 161298 29974 ns/op 2000 B/op 8 allocs/op BenchmarkRecordVerify-4 25580 195508 ns/op 7240 B/op 9 allocs/op BenchmarkRecordVerify-4 23702 191621 ns/op 7240 B/op 9 allocs/op BenchmarkRecordVerify-4 25989 194988 ns/op 7240 B/op 9 allocs/op BenchmarkSealFile50MB-4 54 107855643 ns/op 486.10 MB/s 111630917 B/op 3207 allocs/op BenchmarkSealFile50MB-4 43 119741634 ns/op 437.85 MB/s 111630947 B/op 3207 allocs/op BenchmarkSealFile50MB-4 74 115753621 ns/op 452.93 MB/s 111630868 B/op 3207 allocs/op BenchmarkOpenFile50MB-4 93 50500274 ns/op 1038.19 MB/s 366384 B/op 1605 allocs/op BenchmarkOpenFile50MB-4 94 50839112 ns/op 1031.27 MB/s 366384 B/op 1605 allocs/op BenchmarkOpenFile50MB-4 93 50559574 ns/op 1036.97 MB/s 366384 B/op 1605 allocs/op BenchmarkFanOutMedia/members_2-4 3181144 1392 ns/op 1280 B/op 1 allocs/op BenchmarkFanOutMedia/members_2-4 4073265 1749 ns/op 1280 B/op 1 allocs/op BenchmarkFanOutMedia/members_2-4 3199050 1441 ns/op 1280 B/op 1 allocs/op BenchmarkMediaIngress/audio/plain-4 21497622 215.7 ns/op 128 B/op 1 allocs/op BenchmarkMediaIngress/audio/plain-4 21068415 216.5 ns/op 128 B/op 1 allocs/op BenchmarkMediaIngress/audio/plain-4 23209260 214.3 ns/op 128 B/op 1 allocs/op BenchmarkMediaIngress/video/plain-4 6056880 796.7 ns/op 1280 B/op 1 allocs/op BenchmarkMediaIngress/video/plain-4 5988408 810.2 ns/op 1280 B/op 1 allocs/op BenchmarkMediaIngress/video/plain-4 5997423 797.4 ns/op 1280 B/op 1 allocs/op BenchmarkFanOutGroupVideo/subscribers=8-4 796494 6179 ns/op 11009 B/op 8 allocs/op BenchmarkFanOutGroupVideo/subscribers=8-4 760934 6304 ns/op 11009 B/op 8 allocs/op BenchmarkFanOutGroupVideo/subscribers=8-4 754526 6254 ns/op 11009 B/op 8 allocs/op BenchmarkFanOutGroupVideo/subscribers=64-4 105771 46962 ns/op 82702 B/op 64 allocs/op BenchmarkFanOutGroupVideo/subscribers=64-4 104446 46473 ns/op 82702 B/op 64 allocs/op BenchmarkFanOutGroupVideo/subscribers=64-4 104604 46578 ns/op 82702 B/op 64 allocs/op BenchmarkFanOutGroupVideo/subscribers=255-4 26011 183544 ns/op 327224 B/op 255 allocs/op BenchmarkFanOutGroupVideo/subscribers=255-4 25496 186513 ns/op 327224 B/op 255 allocs/op BenchmarkFanOutGroupVideo/subscribers=255-4 25755 187709 ns/op 327224 B/op 255 allocs/op BenchmarkFanOutGroupAudio/in_set-4 135726 36404 ns/op 38630 B/op 255 allocs/op BenchmarkFanOutGroupAudio/in_set-4 121446 33571 ns/op 38630 B/op 255 allocs/op BenchmarkFanOutGroupAudio/in_set-4 122709 34737 ns/op 38630 B/op 255 allocs/op BenchmarkFanOutGroupAudio/muted-4 46157548 98.40 ns/op 0 B/op 0 allocs/op BenchmarkFanOutGroupAudio/muted-4 51619384 98.33 ns/op 0 B/op 0 allocs/op BenchmarkFanOutGroupAudio/muted-4 52092493 96.48 ns/op 0 B/op 0 allocs/op BenchmarkGroupSend_1000Members-4 34855 128176 ns/op 6883 B/op 71 allocs/op BenchmarkGroupSend_1000Members-4 35062 129426 ns/op 6870 B/op 71 allocs/op BenchmarkGroupSend_1000Members-4 35367 126677 ns/op 6862 B/op 71 allocs/op BenchmarkRouteFrame_MediaAudio-4 18353691 259.3 ns/op 16 B/op 1 allocs/op BenchmarkRouteFrame_MediaAudio-4 19628175 267.2 ns/op 16 B/op 1 allocs/op BenchmarkRouteFrame_MediaAudio-4 19021100 280.7 ns/op 16 B/op 1 allocs/op BenchmarkSendFrame_MediaVideo-4 4540537 1068 ns/op 2080 B/op 2 allocs/op BenchmarkSendFrame_MediaVideo-4 4557955 1051 ns/op 2080 B/op 2 allocs/op BenchmarkSendFrame_MediaVideo-4 4372131 1059 ns/op 2080 B/op 2 allocs/op BenchmarkRingBuffer_SPSC_Media/Write-4 33785077 126.0 ns/op 0 B/op 0 allocs/op BenchmarkRingBuffer_SPSC_Media/Write-4 36437270 127.9 ns/op 0 B/op 0 allocs/op BenchmarkRingBuffer_SPSC_Media/Write-4 41767636 125.6 ns/op 0 B/op 0 allocs/op BenchmarkFullPipeline_MediaForward-4 8522686 554.8 ns/op 0 B/op 0 allocs/op BenchmarkFullPipeline_MediaForward-4 8697949 564.6 ns/op 0 B/op 0 allocs/op BenchmarkFullPipeline_MediaForward-4 8527893 560.2 ns/op 0 B/op 0 allocs/op BenchmarkE2EESealOpen-4 65182 72901 ns/op 4315 B/op 28 allocs/op BenchmarkE2EESealOpen-4 59730 81247 ns/op 4308 B/op 28 allocs/op BenchmarkE2EESealOpen-4 64059 73998 ns/op 4314 B/op 28 allocs/op BenchmarkSendVideoFrame_Kept-4 270717 28655 ns/op 10085 B/op 15 allocs/op BenchmarkSendVideoFrame_Kept-4 519327 26004 ns/op 10053 B/op 15 allocs/op BenchmarkSendVideoFrame_Kept-4 522255 33008 ns/op 10053 B/op 15 allocs/op BenchmarkHandleMediaFrame_Video-4 13170520 347.0 ns/op 77 B/op 2 allocs/op BenchmarkHandleMediaFrame_Video-4 11218270 433.4 ns/op 77 B/op 2 allocs/op BenchmarkHandleMediaFrame_Video-4 10886816 382.3 ns/op 77 B/op 2 allocs/op
ARM Cortex-A76 / Cortex-A55, 2026-11-02
# date: 2026-11-02T15:11Z # go: go1.27.3 linux/arm64, CGO_ENABLED=0 # benchtime: 4s, count: 3 # cpu: Cortex-A55+Cortex-A76, 8 cores, 30 GB BenchmarkEncodeInto_Parallel-8 247126206 21.40 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto_Parallel-8 210159356 20.26 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto_Parallel-8 222675504 18.90 ns/op 0 B/op 0 allocs/op BenchmarkDecodeIntoPooled-8 146854450 32.75 ns/op 0 B/op 0 allocs/op BenchmarkDecodeIntoPooled-8 145456929 33.27 ns/op 0 B/op 0 allocs/op BenchmarkDecodeIntoPooled-8 146121974 33.59 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto-8 73797207 63.80 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto-8 76096509 65.38 ns/op 0 B/op 0 allocs/op BenchmarkEncodeInto-8 74510823 66.06 ns/op 0 B/op 0 allocs/op BenchmarkEncodeDecodeMediaFramePayload_RoundTrip-8 5231865 892.9 ns/op 1536 B/op 1 allocs/op BenchmarkEncodeDecodeMediaFramePayload_RoundTrip-8 5263242 913.5 ns/op 1536 B/op 1 allocs/op BenchmarkEncodeDecodeMediaFramePayload_RoundTrip-8 5462005 914.3 ns/op 1536 B/op 1 allocs/op BenchmarkCallSeal/audio100B-8 9407304 501.9 ns/op 199.23 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/audio100B-8 10342074 494.7 ns/op 202.14 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/audio100B-8 7117606 566.8 ns/op 176.41 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/video20KB-8 371274 13286 ns/op 1505.32 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/video20KB-8 375684 12925 ns/op 1547.41 MB/s 32 B/op 2 allocs/op BenchmarkCallSeal/video20KB-8 370930 13351 ns/op 1498.00 MB/s 32 B/op 2 allocs/op BenchmarkSealMessage-8 474229 8538 ns/op 2000 B/op 7 allocs/op BenchmarkSealMessage-8 618742 8465 ns/op 2000 B/op 7 allocs/op BenchmarkSealMessage-8 501927 8574 ns/op 2000 B/op 7 allocs/op BenchmarkOpenMessage-8 601172 8685 ns/op 2000 B/op 8 allocs/op BenchmarkOpenMessage-8 533697 8342 ns/op 2000 B/op 8 allocs/op BenchmarkOpenMessage-8 601161 8909 ns/op 2000 B/op 8 allocs/op BenchmarkRecordVerify-8 15699 293366 ns/op 7240 B/op 9 allocs/op BenchmarkRecordVerify-8 15920 298668 ns/op 7240 B/op 9 allocs/op BenchmarkRecordVerify-8 15720 306859 ns/op 7240 B/op 9 allocs/op BenchmarkSealFile50MB-8 70 73771182 ns/op 710.69 MB/s 111631522 B/op 3207 allocs/op BenchmarkSealFile50MB-8 94 70453742 ns/op 744.16 MB/s 111631489 B/op 3207 allocs/op BenchmarkSealFile50MB-8 61 71397829 ns/op 734.32 MB/s 111631676 B/op 3207 allocs/op BenchmarkOpenFile50MB-8 100 40225469 ns/op 1303.37 MB/s 366384 B/op 1605 allocs/op BenchmarkOpenFile50MB-8 100 40029559 ns/op 1309.75 MB/s 366384 B/op 1605 allocs/op BenchmarkOpenFile50MB-8 117 39212937 ns/op 1337.03 MB/s 366384 B/op 1605 allocs/op BenchmarkFanOutMedia/members_2-8 2518348 1915 ns/op 1280 B/op 1 allocs/op BenchmarkFanOutMedia/members_2-8 2568562 1901 ns/op 1280 B/op 1 allocs/op BenchmarkFanOutMedia/members_2-8 2548766 1861 ns/op 1280 B/op 1 allocs/op BenchmarkMediaIngress/audio/plain-8 10551296 457.3 ns/op 128 B/op 1 allocs/op BenchmarkMediaIngress/audio/plain-8 10405736 452.8 ns/op 128 B/op 1 allocs/op BenchmarkMediaIngress/audio/plain-8 10440296 430.6 ns/op 128 B/op 1 allocs/op BenchmarkMediaIngress/video/plain-8 3380622 1468 ns/op 1281 B/op 1 allocs/op BenchmarkMediaIngress/video/plain-8 3250087 1486 ns/op 1281 B/op 1 allocs/op BenchmarkMediaIngress/video/plain-8 3334449 1470 ns/op 1281 B/op 1 allocs/op BenchmarkFanOutGroupVideo/subscribers=8-8 361983 13200 ns/op 11011 B/op 8 allocs/op BenchmarkFanOutGroupVideo/subscribers=8-8 382260 13248 ns/op 11012 B/op 8 allocs/op BenchmarkFanOutGroupVideo/subscribers=8-8 314002 13136 ns/op 11012 B/op 8 allocs/op BenchmarkFanOutGroupVideo/subscribers=64-8 50430 86970 ns/op 82714 B/op 64 allocs/op BenchmarkFanOutGroupVideo/subscribers=64-8 56049 83763 ns/op 82713 B/op 64 allocs/op BenchmarkFanOutGroupVideo/subscribers=64-8 56802 84330 ns/op 82713 B/op 64 allocs/op BenchmarkFanOutGroupVideo/subscribers=255-8 14089 333794 ns/op 327268 B/op 255 allocs/op BenchmarkFanOutGroupVideo/subscribers=255-8 14528 331243 ns/op 327268 B/op 255 allocs/op BenchmarkFanOutGroupVideo/subscribers=255-8 14496 325761 ns/op 327266 B/op 255 allocs/op BenchmarkFanOutGroupAudio/in_set-8 61407 75250 ns/op 38639 B/op 255 allocs/op BenchmarkFanOutGroupAudio/in_set-8 59912 76751 ns/op 38639 B/op 255 allocs/op BenchmarkFanOutGroupAudio/in_set-8 62667 75138 ns/op 38639 B/op 255 allocs/op BenchmarkFanOutGroupAudio/muted-8 37609077 127.3 ns/op 0 B/op 0 allocs/op BenchmarkFanOutGroupAudio/muted-8 37765041 126.8 ns/op 0 B/op 0 allocs/op BenchmarkFanOutGroupAudio/muted-8 38169864 126.1 ns/op 0 B/op 0 allocs/op BenchmarkGroupSend_1000Members-8 23505 213506 ns/op 7092 B/op 71 allocs/op BenchmarkGroupSend_1000Members-8 30927 211690 ns/op 6971 B/op 71 allocs/op BenchmarkGroupSend_1000Members-8 26907 173332 ns/op 7009 B/op 71 allocs/op BenchmarkRouteFrame_MediaAudio-8 15447057 352.8 ns/op 16 B/op 1 allocs/op BenchmarkRouteFrame_MediaAudio-8 12660244 382.0 ns/op 16 B/op 1 allocs/op BenchmarkRouteFrame_MediaAudio-8 15495753 359.1 ns/op 16 B/op 1 allocs/op BenchmarkSendFrame_MediaVideo-8 2618607 1875 ns/op 2080 B/op 2 allocs/op BenchmarkSendFrame_MediaVideo-8 2545294 1884 ns/op 2080 B/op 2 allocs/op BenchmarkSendFrame_MediaVideo-8 2533215 1908 ns/op 2080 B/op 2 allocs/op BenchmarkRingBuffer_SPSC_Media/Write-8 20931678 207.7 ns/op 0 B/op 0 allocs/op BenchmarkRingBuffer_SPSC_Media/Write-8 23071693 217.6 ns/op 0 B/op 0 allocs/op BenchmarkRingBuffer_SPSC_Media/Write-8 22551352 210.3 ns/op 0 B/op 0 allocs/op BenchmarkFullPipeline_MediaForward-8 6037053 792.7 ns/op 0 B/op 0 allocs/op BenchmarkFullPipeline_MediaForward-8 6149212 795.0 ns/op 0 B/op 0 allocs/op BenchmarkFullPipeline_MediaForward-8 6222187 795.5 ns/op 0 B/op 0 allocs/op BenchmarkE2EESealOpen-8 161086 33803 ns/op 4519 B/op 28 allocs/op BenchmarkE2EESealOpen-8 152941 31251 ns/op 4497 B/op 28 allocs/op BenchmarkE2EESealOpen-8 142279 32036 ns/op 4484 B/op 28 allocs/op BenchmarkSendVideoFrame_Kept-8 463230 25464 ns/op 10046 B/op 15 allocs/op BenchmarkSendVideoFrame_Kept-8 546876 23926 ns/op 10050 B/op 15 allocs/op BenchmarkSendVideoFrame_Kept-8 595176 25614 ns/op 10046 B/op 15 allocs/op BenchmarkHandleMediaFrame_Video-8 12469998 368.5 ns/op 73 B/op 2 allocs/op BenchmarkHandleMediaFrame_Video-8 11498198 376.5 ns/op 73 B/op 2 allocs/op BenchmarkHandleMediaFrame_Video-8 12922048 393.2 ns/op 73 B/op 2 allocs/op
Back to verboo.org