Re: [PATCH 15/16] refs: add LMDB refs backend

2015-12-23 Thread Michael Haggerty
On 12/03/2015 01:35 AM, David Turner wrote: > Add a database backend for refs using LMDB. This backend runs git > for-each-ref about 30% faster than the files backend with fully-packed > refs on a repo with ~120k refs. It's also about 4x faster than using > fully-unpacked refs. In addition, and

Re: [PATCH 15/16] refs: add LMDB refs backend

2015-12-17 Thread Jonathan Nieder
David Turner wrote: > On Wed, 2015-12-16 at 17:00 -0800, Jonathan Nieder wrote: >> David Turner wrote: >>> +core.refsBackendType:: >>> + Type of refs backend. Default is to use the original files >>> + based backend. Set to 'lmdb' to activate the lmdb database >>> + backend. If you use the

Re: [PATCH 15/16] refs: add LMDB refs backend

2015-12-16 Thread David Turner
On Wed, 2015-12-16 at 17:00 -0800, Jonathan Nieder wrote: > David Turner wrote: > > > --- a/Documentation/config.txt > > +++ b/Documentation/config.txt > > @@ -496,6 +496,13 @@ core.repositoryFormatVersion:: > > Internal variable identifying the repository format and > > layout > > version

Re: [PATCH 15/16] refs: add LMDB refs backend

2015-12-16 Thread Jonathan Nieder
David Turner wrote: > --- a/Documentation/config.txt > +++ b/Documentation/config.txt > @@ -496,6 +496,13 @@ core.repositoryFormatVersion:: > Internal variable identifying the repository format and layout > version. > > +core.refsBackendType:: > + Type of refs backend. Default is

Re: [PATCH 15/16] refs: add LMDB refs backend

2015-12-04 Thread David Turner
On Fri, 2015-12-04 at 16:08 -0800, Junio C Hamano wrote: > David Turner writes: > > > + while (!mdb_ret) { > > + if (starts_with(key.mv_data, refname) && > > + ((char*)key.mv_data)[refname_len - 2] == '/') { > > ERROR: "(foo*)" should be "(foo *)" > #877: FILE: refs/lmd

Re: [PATCH 15/16] refs: add LMDB refs backend

2015-12-04 Thread Junio C Hamano
David Turner writes: > + while (!mdb_ret) { > + if (starts_with(key.mv_data, refname) && > + ((char*)key.mv_data)[refname_len - 2] == '/') { ERROR: "(foo*)" should be "(foo *)" #877: FILE: refs/lmdb-backend.c:514: + ((char*)key.mv_data)[refname_l

[PATCH 15/16] refs: add LMDB refs backend

2015-12-02 Thread David Turner
Add a database backend for refs using LMDB. This backend runs git for-each-ref about 30% faster than the files backend with fully-packed refs on a repo with ~120k refs. It's also about 4x faster than using fully-unpacked refs. In addition, and perhaps more importantly, it avoids case-conflict is