From: Scott Chacon <schacon@gmail.com>
To: git list <git@vger.kernel.org>
Subject: Mercurial on BigTable
Date: Wed, 10 Jun 2009 12:15:49 -0700 [thread overview]
Message-ID: <d411cc4a0906101215t313b2037k713aa1ce974c30cc@mail.gmail.com> (raw)
Has anyone watched this yet?
http://code.google.com/events/io/sessions/MercurialBigTable.html
It's kind of interesting - a Googler talks about getting Mercurial
running on BigTable. What fascinates me is that if I'm not horribly
mistaken, it seems like they just threw out the revlog format entirely
and just store the data in a key-value store as sort of a Git-like
content addressable filesystem. I had thought they were taking
advantage of the revlog structure somehow, but it appears like they
basically just changed the underlying data format to be much more like
Git and rewrote ah Hg speaking server on top of that. They even
explicitly store the head values like refs instead of reading
childless nodes out of the revlog, which is what I thought Hg did.
Does anyone know how they do the graph walking efficiently with this
structure? He mentioned it was about half as fast as native Hg, but
that seemed to be acceptable. Curious if anyone had any thoughts or
information on this. Shawn, are there technical reasons why this
works well the way they're doing it for Hg but would not for Git (like
in the repo MINA based server)? It looks like the data structure and
protocol exchange are incredibly similar after they threw away all the
revlog stuff. Or is it just that they're fine with the speed loss and
the Android project would not be?
Scott
next reply other threads:[~2009-06-10 19:15 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-10 19:15 Scott Chacon [this message]
2009-06-10 19:23 ` Mercurial on BigTable Sverre Rabbelier
2009-06-11 2:02 ` Andreas Ericsson
2009-06-11 8:24 ` Jakub Narebski
2009-06-12 3:46 ` Shawn O. Pearce
2009-06-12 7:14 ` Jakub Narebski
2009-06-11 14:37 ` Sitaram Chamarty
2009-06-12 4:14 ` Shawn O. Pearce
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d411cc4a0906101215t313b2037k713aa1ce974c30cc@mail.gmail.com \
--to=schacon@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).