Most of the time, I run git rebase with -i, so while it is slow, I
always assumed there was somehow a reason.
For some reason, today, I was running some git rebase without -i, and
then the same rebases with -i, but without changing the pick list. While
the git rebase without -i were almost instant, git rebase -i was as slow
as usual, which is very far from instant.
Has anyone else seen such behaviour ?
Technically, the interactive counterpart is simply a shell script that
calls the git-rebase binary along with a bunch of other things. See
git-rebase--interactive in the the source tree. Your observations
about speed mainly have to do with how the interactive counterpart
recursively cherry-picks and rebases.