A new metric for evaluating the performance and complexity of computer programs: A new approach to the traditional ways of measuring the complexity of algorithms and estimating running times
Rares Folea, Emil-Ioan Slusanschi
TL;DR
The paper introduces r-Complexity, an architecture-aware refinement of Bachmann–Landau complexity that aims to provide finer feedback within the same $Θ(g(n))$ class. It formalizes notations $Θ_r(g(n))$, $O_r(g(n))$, $Ω_r(g(n))$ and their small variants, along with conversion rules, and then develops interval-based time estimators $T(n_{min}, n_{max})$ (RM1, RM2, ERM1, ERM2) to analyze bounded-input performance. Through matrix multiplication and chess use-cases, the authors illustrate how r-Complexity can reveal finite-size performance trade-offs (e.g., Strassen vs. cache-friendly cubic methods) and demonstrate automated estimation pathways when the traditional BL class is known or unknown. The framework emphasizes practical relevance by accounting for architectural factors, memory usage, and finite input sizes, enabling more nuanced comparisons and guiding algorithm selection in real-world systems. Overall, r-Complexity offers a principled, architecture-sensitive approach to quantifying and comparing algorithmic performance beyond classic asymptotic analysis, with potential extensions to network latency and cache-miss metrics.
Abstract
This paper presents a refined complexity calculus model: r-Complexity, a new asymptotic notation that offers better complexity feedback for similar programs than the traditional Bachmann-Landau notation, providing subtle insights even for algorithms that are part of the same conventional complexity class. The architecture-dependent metric represents an enhancement that provides better sensitivity with respect to discrete analysis.
