git diff-tree -r does not need to look at actual blobs, so it is much faster. Due to the index lines, if git diff-tree -r differs, so will the git diff output, so this change would not trigger additional patch rewriting.
git diff-tree -r
index
git diff