Yet another base64 patch
- From
- H. Peter Anvin <hpa@zytor.com>
- Date
- Apr 14, 2005, 04:19 UTC
- Message-ID
- <425DEF64.60108@zytor.com>
I am assuming this will be the last one one way or another...
I decided that filenames/tags beginning with - was a really bad thing, so I decided that, ugly though it might be, the best was to do a hybrid between regular base64 (+ /) and filesystem-safe base64 (- _) and use + _ as the nonalpha characters needed. I have updated the base64 patches as well as gitcvt, and also put out a flat version of gitcvt.
gitcvt also now converts the HEAD file over. This requires pointing it at the .dircache/.git directory instead of the objects directory inside. I have tested it on both the git and the kernel-test repositories.
Checking out the total kernel tree (time checkout-cache -a into an empty directory):
Cache cold Cache hot stock 3:46.95 19.95 base64 5:56.20 23.74 flat 2:44.13 15.68
It seems that the flat format, at least on ext3 with dircache, is actually a major performance win, and that the second level loses quite a bit.
-hpa