This article argues that concerns about function call overhead in Rust async code are often unfounded, demonstrating that modern compilers inline small functions in release builds, making indirection cost negligible compared to actual I/O and system-level operations. The author emphasizes that code readability and maintainability should take priority over micro-optimizations, and provides concrete benchmarking and profiling techniques to measure real performance impact.
This article critiques the overuse of the Single-Responsibility Principle in software design and proposes Siedersleben's blood group law as a practical alternative framework for categorizing components into reusable groups (Generic, Technical, Domain, and anti-patterns) to minimize code while maximizing use cases.