  Let $V$ be the set of real common solutions to $F = (f_1, \ldots, f_s)$ in
$\mathbb{R}[x_1, \ldots, x_n]$ and $D$ be the maximum total degree of the
$f_i$'s. We design an algorithm which on input $F$ computes the dimension of
$V$. Letting $L$ be the evaluation complexity of $F$ and $s=1$, it runs using
$O^\sim \big (L D^{n(d+3)+1}\big )$ arithmetic operations in $\mathbb{Q}$ and
at most $D^{n(d+1)}$ isolations of real roots of polynomials of degree at most
$D^n$. Our algorithm depends on the real geometry of $V$; its practical
behavior is more governed by the number of topology changes in the fibers of
some well-chosen maps. Hence, the above worst-case bounds are rarely reached in
practice, the factor $D^{nd}$ being in general much lower on practical
examples. We report on an implementation showing its ability to solve problems
which were out of reach of the state-of-the-art implementations.
