Ok, so I might have built an exporter which can export 100s of commits per second;
second.maia:~/src/perl.clean$ time git-p4raw export-commits -n 400
git-p4raw: gathering export plan
git-p4raw: exporting commits between 525 and 924
100% [===============================================================]D 0h00m00sgit-p4raw: Now checkpointing.
warning: Not updating refs/heads/p4/perl (new tip ef9eefa4f9098fbcc59c2aba28c73f4e071fe88f does not contain 5ec5d678e03468a8d1d3cb0b3863aacb4ba75233)
warning: Not updating refs/heads/p4/ansiperl (new tip d869d2901d6cf3197af2842a1cd2aca6fcea7024 does not contain c864495f8aa5c60a65eec5f015666b8f3ea5ae96)
warning: Not updating refs/heads/p4/win32/perl (new tip 15d3ab12d6f67a93f4836715f854ade61f9f6030 does not contain 1e696528467d711508235105c2294a1911fc12ad)
git-p4raw: waited 1s for p4raw.8790.marks to be created
However there are some changes which are just begging to be made
One of the common practices through the history is to refer to other changes by numbers. So, I made the add extra links to the commits. As the model of git-fast-import is to just fire the objects at it and let it calculate the SHA1, this required a hack to git-fast-import. Hack it may well be, but it looks like it works.
Update: GitTorrent references file