Sustained uploads
The frontend splits files into chunks, hashes them in a worker, uploads multiple chunks in parallel, and retries only missing pieces. The goal is stable throughput across the whole transfer, not a fast-looking first burst that collapses during finalization.
No full-file buffering
Cotton's upload and storage path is designed around small streaming buffers, ArrayPool-style reuse, and pipeline stages that work continuously. A 500 MB file and a much larger file have the same shape: more chunks, not a fundamentally different memory problem.
Encryption headroom
Reviewed machine baselines publish local stage numbers instead of only broad crypto claims. The conservative read is whether the slowest write-path stage - SHA-256, Zstd compression, AES-GCM encryption, or filesystem I/O - stays ahead of the network link.
Compression in the path
Cotton compresses before encryption, so storage savings happen during ingest. Zstd compression is tuned for cloud-storage throughput rather than archival maximum ratio. Deduplication still works because identity is content-addressed before encrypted blob bytes are written.
Hardware reality
Weak NAS hardware, cloud VMs, and high-end desktops will hit different ceilings. Cotton's performance story is tracked as a growing table of device baselines, with raw 100 MbE, 1 GbE, 2.5 GbE, and 10 GbE ceilings shown beside the measured MB/s values.
Seekable reads
Large downloads, video seeking, preview extraction, and HTTP range responses can read from chunked encrypted storage without reassembling an entire file into a temp object first.
Preview work
Images, SVG, HEIC, PDF, text, audio, video, and 3D model previews exist because the storage engine can expose the right streams without making the UI wait on full-file rebuilds.
Operational footprint
The deployment shape stays deliberately small: one Cotton Docker image plus Postgres, with EF migrations on startup and a setup wizard for storage, email, timezone, and telemetry choices.
Measured stage proof
The public performance story is tied to measured stages and visible network ceilings. Cotton compares SHA-256, Zstd compression, AES-GCM encryption, filesystem I/O, and synthetic pipeline numbers instead of pretending one isolated crypto number explains deployment throughput.
- Network fit is calculated from the slowest local write-path stage.
- Rows are sorted from weakest to strongest write-path processing limit.
- The table shows raw stage values beside practical 100 MbE, 1 GbE, 2.5 GbE, and 10 GbE ceilings.
Fast path without feature panic
Cotton's performance pitch is simple: safety features belong in the fast path. Cotton does not ask admins to choose between encryption, previews, resumability, and throughput for normal file cloud work.
Benchmarks are not promises
Benchmarks are local baselines, not a promise that every deployment saturates a link. Browser behavior, HTTP/TLS overhead, databases, disks, VM noise, file types, and concurrent users can all move the real ceiling.