From: Chris Mason Date: Tue, 26 Apr 2005 15:38:45 GMT Subject: Re: Mercurial 0.3 vs git benchmarks Message-ID: <200504261138.46339.mason@suse.com> In-Reply-To: On Tuesday 26 April 2005 11:09, Magnus Damm wrote: > On 4/26/05, Chris Mason wrote: > > This agrees with my tests here, the time to apply patches is somewhat > > disk bound, even for the small 100 or 200 patch series. The io should be > > coming from data=ordered, since the commits are still every 5 seconds or > > so. > > Yes, as long as you apply the patches to disk that is. I've hacked up > a small backend tool that applies patches to files kept in memory and > uses a modifed rabin-karp search to match hunks. So you basically read > once and write once per file instead of moving data around for each > applied patch. But it needs two passes. > > And no, the source code for the entire Linux kernel is not kept in > memory - you need a smart frontend to manage the file cache. Drop me a > line if you are interested. Sorry, you've lost me. Right now the cycle goes like this: 1) patch reads patch file, reads source file, writes source file 2) update-cache reads source file, writes git file Which of those writes are you avoiding? We have a smart way to manage the cache already for the source files...the vm does pretty well. There's nothing to manage for the git files. For the apply a bunch of patches workload, they are write once, read never (except for the index). -chris