Rewrite import in C
commitd4be06955c16554f3b16c1cadc40d6b3752c2d62
authorKirill Smelkov <kirr@navytux.spb.ru>
Sun, 12 Feb 2012 15:51:04 +0000 (12 19:51 +0400)
committerKirill Smelkov <kirr@navytux.spb.ru>
Sun, 12 Feb 2012 15:51:04 +0000 (12 19:51 +0400)
tree1a36641e0a7cf107eaa5ed769c7e3d39072a41ca
parent57db18e616f5104e3dfa7c783c44b06c6e11ec2e
Rewrite import in C

By rewriting import logic in C directly using git's routines we gain
some speedup. For example importing sup-talk archives (with final
`git gc --auto` disabled) timings are:

old: ~22.7s
new:  ~4.5s

i.e. ~5x faster.

I have not looked into what makes hot part of C code yet (but it
probably is writing loose objects to disk).

Signed-off-by: Kirill Smelkov <kirr@navytux.spb.ru>
Makefile
README
contrib/examples/navymail-import [moved from cmd/navymail-import with 100% similarity]
fromgit/git.cocci
import.c [new file with mode: 0644]
include/navymail/mbox-walk.h [new file with mode: 0644]
include/navymail/navymail.h
mbox-walk.c [new file with mode: 0644]