  Understanding how crossover works is still one of the big challenges in
evolutionary computation research, and making our understanding precise and
proven by mathematical means might be an even bigger one. As one of few
examples where crossover provably is useful, the $(1+(\lambda, \lambda))$
Genetic Algorithm (GA) was proposed recently in [Doerr, Doerr, Ebel: TCS 2015].
Using the fitness level method, the expected optimization time on general
OneMax functions was analyzed and a $O(\max\{n\log(n)/\lambda, \lambda n\})$
bound was proven for any offspring population size $\lambda \in [1..n]$.
  We improve this work in several ways, leading to sharper bounds and a better
understanding of how the use of crossover speeds up the runtime in this
algorithm. We first improve the upper bound on the runtime to
$O(\max\{n\log(n)/\lambda, n\lambda \log\log(\lambda)/\log(\lambda)\})$. This
improvement is made possible from observing that in the parallel generation of
$\lambda$ offspring via crossover (but not mutation), the best of these often
is better than the expected value, and hence several fitness levels can be
gained in one iteration.
  We then present the first lower bound for this problem. It matches our upper
bound for all values of $\lambda$. This allows to determine the asymptotically
optimal value for the population size. It is $\lambda =
\Theta(\sqrt{\log(n)\log\log(n)/\log\log\log(n)})$, which gives an optimization
time of $\Theta(n \sqrt{\log(n)\log\log\log(n)/\log\log(n)})$. Hence the
improved runtime analysis gives a better runtime guarantee along with a better
suggestion for the parameter $\lambda$.
  We finally give a tail bound for the upper tail of the runtime distribution,
which shows that the actual runtime exceeds our runtime guarantee by a factor
of $(1+\delta)$ with probability $O((n/\lambda^2)^{-\delta})$ only.
