[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

XML and libsvn_wc performance

From: Jason Voegele <jason_at_jvoegele.com>
Date: 2003-11-12 02:36:55 CET

I've been browsing through the issues list looking for things I might be able
to lend a hand toward, and performance of checkouts has piqued my interest.

Issues #1429 and #1490 indicate that XML parsing in libsvn_wc has a fairly
significant impact on performance. What seems to me an obvious (partial)
solution has not yet been mentioned, perhaps because I am not seeing the
whole picture, or the solution I'm proposing is too radical a change for this
stage of Subversion development. What I'm getting at is why use XML for
the .svn/entries files at all? Why not replace it with a simpler file format
and a lex/yacc based parser?

I've begun some prototyping work on a simple parser (and lexer) for an
alternative entries format that looks very much like the XML-based entries
file, but avoids the overhead of the XML parser. The format could look
something like this:

Entry:
  name=svn:this_dir
  committed-rev=7708
  committed-date=2003-11-12T00:21:17.083005Z
  ...

Entry:
  name=Makefile.in
  committed-rev=7584
  text-time=2003-11-04T00:38:44.000000Z
  ...

I could fill in further details if there's any interest in changing the
entries file format, but in the meantime I'd like to have your opinions about
whether or not this is a reasonable idea. Please share with me your thoughts
about this before I pursue any further. If this seems like a good option
I'll try to put together a patch for it within the next couple of days.

Thanks.

-- 
Jason Voegele
"There is an essential core at the center of each man and woman that
remains unaltered no matter how life's externals may be transformed
or recombined. But it's smaller than we think."
    -- Gene Wolfe, The Book of the Long Sun
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Nov 12 02:37:48 2003

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.