I made a large change to a repository by essentially renaming a directory which contains a large number of files (i.e. git mv from_dir/ to_dir/). The output of git diff is quite small (13 megabytes), but uploading this diff with arc diff takes a very long time (a number of hours) and eventually fails. As an alternative, I tried uploading the git diff output manually at /differential/diff/create/, but this timed out after 30 seconds.
Running arc export --arcbundle also takes a very long time (almost three hours) and ended up producing a 128MB bundle. Looking at the output from --trace, most of the time was spent running either git ls-tree 'HEAD' -- '$PATH' or git cat-file blob '$COMMIT_HASH' for every file in the subdirectory that was moved.