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

Re: Subversion Performance Benchmark

From: <cmpilato_at_collab.net>
Date: 2002-09-24 19:51:03 CEST

Daniel Berlin <dberlin@dberlin.org> writes:

> > *Ding!* Subversion is using svndiff to *transmit* the text. Those
> > diff packages usually break down to:
>
> I know what they look like *way* too well.
> Remember, i did an svndiff version 1?
> :)

Oh yeah. Still have your patch in my Keepers mailbox for later
application. :-)

> > 'S'
> > 'V'
> > 'N'
> > \0
> > <flag that means 'here comes some new data'>
> > <here's the whole file as fulltext>
> >
> > but the fact remains that we are attempting to svndiff-ify a "delta"
> > that is effectively an "add" of the entire file.
> >
>
> But this doesn't jive with the profile.

"The profile doesn't fit the profile!" (Sorry, I saw a commercial for
that "Murder by Numbers" film last night)

> vdelta is certainly doing compression, it's calling find_match_len,
> etc. That's what is taking so much time.
> It's coming up with a *real* delta of the file against *something*
> (likely an empty string).
>
> Thus, an svndiff that is *not* just the whole file as fulltext with an
> "add new data" op is being generated, which is slow and wrong (it
> *should* be generating the svndiff you've given above).

Oh, sorry, I didn't mean to imply that we weren't doing an extravagant
amount of work just to wind up sending what often looks like just a
single big chunk of new data. I forgot that we have the whole svndiff
compression thing going on, too.

Regardless, your guess is correct: we are trying to generate the
delta between FILE and "".

> If it's not storing it, and something *is* storing the svndiff you
> give above, we need to find what generates the compressed delta for no
> reason and make it stop.

Nothing is storing the diff I gave -- we suffered a miscommunication.

The import routine is using the commit editor to send the file
contents. This means using the editor->apply_textdelta() interface,
which inevitably means...

You know, I see that others are already responding to this thread. So
I'll just stop talking. :-)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Sep 24 19:52:03 2002

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