Efficiency vs. Horizontal Scalability: A Necessary Trade-off?
2025-02-12
This article explores the tension between software efficiency and horizontal scalability. The author argues that software optimized for scalability often performs poorly in single-machine environments, and vice versa. This stems from Amdahl's Law, coordination overhead, and limitations on shared resources. Efficient algorithms often rely on assumptions about the system and problem that may no longer hold true when scaling horizontally. The author also discusses cultural factors and task types influencing choices, illustrating with examples like the Tigerbeetle database and CPython's GIL. Ultimately, a deep understanding of the problem and environment is key to achieving both high efficiency and scalability.
Development