There are a couple of central design decisions that have voluntarily been made. This document explains the reasoning behind these decisions.
A single-threaded async runtime (tokio / current_thread) is used. This is to avoid true parallelism as much as possible to reduce the attack surface.
Note that single threaded tokio runtime can still spawn threads for blocking operations. But we try to avoid blocking operations as much as possible.
tokio::fs async I/O is not used for file I/O. Instead
synchronous std::fs file I/O is used. Tokio’s async file
I/O requires threads, which we want to avoid to reduce true
parallelism.