Something in common to [EC]DSA and related signature schemes like Schnorr is that the most expensive part of signing is calculating $r = g^k$ in the group for some per-signature $k$ of length $b$ bits. But this is always taking the same generator to a power.
Because it's always the same base, we could precompute $\{g^1, g^2, g^4, ... g^{2^{b-1}}\}$ into a table. Then calculating $g^k$ is multiplying by the entries in the table corresponding to the $1$ bits of $k$. (Always do the multiply, but discard the result, for $0$ bits to stop timing and power attacks.)
This seems like it would save time, because instead of doing $b$ squares and $b$ multiplies, you'd only do $b$ multiplies.
This is most useful for signing. For verifying, you'd need a second precomputed table for the squares of the public key $y$. This could be stored as part of the public key, though, if the key length isn't a problem.
Existing implementations don't seem to do this optimization. Why not? (Or maybe I'm wrong and they do...?)