---
title: "Performance"
---

> Documentation Index
> Fetch the complete documentation index at: https://openarkstudio.github.io/arknet/llms.txt
> Use this file to discover all available pages before exploring further.

# Performance

These reports measure local loopback workloads on a Mac mini M4 Pro, not CI
runner performance. Choose a report with matching protocol, payload, concurrency
and execution mode; each report records its host, source, commands and scope.

Download the [raw measurements and verification tools](https://github.com/OpenArkStudio/arknet/releases/download/v0.2.1/arknet-0.2.1-benchmark-comparison.tar.gz) with the [SHA256 checksum](https://github.com/OpenArkStudio/arknet/releases/download/v0.2.1/arknet-0.2.1-benchmark-comparison.tar.gz.sha256). The data is distributed as a release asset, outside the source repository.

## Version and execution comparisons

- [Database clients](/arknet/performance/database-comparison): MySQL and Redis throughput, response time and CPU for v0.2.0 and the complete-shutdown implementation.
- [Network endpoints](/arknet/performance/transport-comparison): matched TCP, TLS TCP, HTTP, HTTPS, WebSocket and WSS workloads.
- [Five-second workload comparison](/arknet/performance/steady-workloads): eight selected workloads, five fresh processes per version, with throughput, CPU and response time.
- [Asio callbacks and coroutines](/arknet/performance/asio-execution-control): execution modes and worker counts within the same revision.

The configuration grids contain 1,632 rounds; the five-second comparison contains 80 rounds. Databases use native connection callbacks; the Asio control bypasses arknet endpoints. They do not measure ark's database coroutine bridge.

## RUDP measurements

[RUDP FEC report](/arknet/performance/rudp): 96 configurations and 276 measured runs across both
Asio dependency combinations, three IO models, ARQ-only/fixed/adaptive policies, payloads,
in-flight requests and injected loss. SVG charts compare throughput, p99 RTT,
CPU, wire overhead, recovery, retransmissions and retained memory.
The public RUDP API currently uses callbacks; RUDP coroutines remain TODO.

## Database clients

- [MySQL](/arknet/features/mysql/performance): read-only text and prepared queries,
  payloads, connections and client queue depth; query RT, throughput, CPU and memory.
- [Redis](/arknet/features/redis/performance): binary ECHO with pipeline sizes and
  in-flight batches; whole-batch RT, command throughput, CPU and memory.

Both reports compare Boost.Asio and Standalone Asio, plain TCP and verified TLS.
They use callback clients; connection pools and database coroutines are outside these measurements.

## UDP measurements

[UDP performance report](/arknet/performance/udp-update) includes 504 matrix runs, 21 buffer probes and
a 60-second stress test for each dependency combination.

- [IO models](/arknet/performance/udp): one context/one thread, one context/multiple threads and partitioned contexts.
- [Payload and in-flight requests](/arknet/performance/dimensions-udp): repeated configurations with failure groups retained.
- [Limits and loss](/arknet/performance/udp-limits): datagram sizes and receive-queue overflow.

## Callback, coroutine and CPU comparisons

[Matched native TCP measurements](/arknet/performance/dimensions-native-tcp) compare callbacks and
coroutines under the same batch workload. [IO model comparisons](/arknet/performance/io-comparison)
explain the original scheduler results and their measurement boundaries.
These programs use native Asio; public arknet coroutine endpoints remain TODO.

## Protocol results

| Protocol | IO model results | Payload and batch results |
| --- | --- | --- |
| TCP | [Results](/arknet/performance/tcp) | [Results](/arknet/performance/dimensions-tcp) |
| TLS TCP | [Results](/arknet/performance/tcps) | [Results](/arknet/performance/dimensions-tcps) |
| WebSocket | [Results](/arknet/performance/websocket) | [Results](/arknet/performance/dimensions-websocket) |
| WSS | [Results](/arknet/performance/wss) | [Results](/arknet/performance/dimensions-wss) |
| HTTP | [Results](/arknet/performance/http) | [Results](/arknet/performance/dimensions-http) |
| HTTPS | [Results](/arknet/performance/https) | [Results](/arknet/performance/dimensions-https) |

The [multi-protocol summary](/arknet/performance/overview) and [dimension summary](/arknet/performance/dimensions)
show the final results for each measured workload, with dates and source hashes.
Measurements do not establish WAN capacity, IPv6 performance or production endurance.

[Methodology and metric definitions](/arknet/performance/methodology) · [Correctness validation](/arknet/project/testing) · [Buffer configuration](/arknet/guides/socket-buffers)

Source: https://openarkstudio.github.io/arknet/performance/index.mdx
