  Theory of evolutionary computation (EC) aims at providing mathematically
founded statements about the performance of evolutionary algorithms (EAs). The
predominant topic in this research domain is runtime analysis, which studies
the time it takes a given EA to solve a given optimization problem. Runtime
analysis has witnessed significant advances in the last couple of years,
allowing us to compute precise runtime estimates for several EAs and several
problems. Runtime analysis is, however (and unfortunately!), often judged by
practitioners to be of little relevance for real applications of EAs. Several
reasons for this claim exist. We address two of them in this present work:
  (1) EA implementations often differ from their vanilla pseudocode
description, which, in turn, typically form the basis for runtime analysis. To
close the resulting gap between empirically observed and theoretically derived
performance estimates, we therefore suggest to take this discrepancy into
account in the mathematical analysis and to adjust, for example, the cost
assigned to the evaluation of search points that equal one of their direct
parents (provided that this is easy to verify as is the case in almost all
standard EAs).
  (2) Most runtime analysis results make statements about the expected time to
reach an optimal solution (and possibly the distribution of this optimization
time) only, thus explicitly or implicitly neglecting the importance of
understanding how the function values evolve over time. We suggest to extend
runtime statements to runtime profiles, covering the expected time needed to
reach points of intermediate fitness values.
  As a direct consequence, we obtain a result showing that the greedy (2+1) GA
of Sudholt [GECCO 2012] outperforms any unary unbiased black-box algorithm on
OneMax.
