git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
To: Geert Bosch <bosch@adacore.com>
Cc: Git Mailing List <git@vger.kernel.org>, Junio C Hamano <junkio@cox.net>
Subject: Re: RFC: New diff-delta.c implementation
Date: Sat, 22 Apr 2006 14:36:04 +0200	[thread overview]
Message-ID: <444A2334.3030501@lsrfire.ath.cx> (raw)
In-Reply-To: <602974A9-09A3-46E9-92D6-D30728923C11@adacore.com>

Hello Geert,

Geert Bosch schrieb:
> I wrote a new binary differencing algorithm that is both faster and
> generates smaller deltas than the current implementation. The format
> is compatible with that used by patch-delta, so it should be easy to
> integrate.
[...]
> Initial testing seems quite positive, take for example git-1.2.5.tar
> vs git-1.2.6.tar on my PowerBook (both with -O2 -DNDEBUG):
> 
> current: 2.281s, patch size 36563
> new    : 0.109s, patch size 16199
> 
> Please feel free to play around with this code, and give feedback. 
> Keep in mind this wasn't originally written for GIT, and C is not my
> native language, so don't mind my formatting etc.

nice speedup!  Though I cannot comment on what it actually does, I have
some comments on style. B-)

Could you please send your code inline, not as an attachment?  And
possibly as a patch with a Signed-off-by: tag (see
Documentation/SubmittingPatches)?

Regarding your FIXME comment about endianess: I think you are looking
for htonl().  Use it to convert the values from host byte order to
network byte order (= big endian) and you can get rid of those ugly
branches.

You can use "indent -npro -kr -i8 -ts8 -l80 -ss -ncs" to reformat your
code into a similar style as used in the rest of git (settings taken
from Lindent which is shipped with the Linux source).

After converting to htonl() "make test" ran fine on my x86 box.  Here is
what I get when I try to repack the git repo, though:

   $ git repack -a -d
   Generating pack...
   Done counting 18985 objects.
   Deltifying 18985 objects.
   git-pack-objects: diff-delta.c:766: create_delta: Assertion `ptr -
delta == (int)delta_size' failed.

Please let me know if you need more details.

Thanks,
René

  parent reply	other threads:[~2006-04-22 20:12 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-21 21:16 RFC: New diff-delta.c implementation Geert Bosch
2006-04-22  3:19 ` Nicolas Pitre
2006-04-22 11:04   ` Geert Bosch
2006-04-22 11:13     ` Junio C Hamano
2006-04-22 12:35       ` Geert Bosch
2006-04-22 12:51         ` Nicolas Pitre
2006-04-22 13:39           ` Geert Bosch
2006-04-22 17:03             ` Junio C Hamano
2006-04-22 17:28               ` Geert Bosch
2006-04-22 17:57                 ` Junio C Hamano
2006-04-22 12:45       ` Nicolas Pitre
2006-04-22 14:17         ` Geert Bosch
2006-04-22 17:29         ` Junio C Hamano
2006-04-22 19:58           ` Nicolas Pitre
2006-04-22  5:21 ` Davide Libenzi
2006-04-22  9:12   ` Geert Bosch
2006-04-22 12:36 ` Rene Scharfe [this message]
2006-04-24  2:57   ` Geert Bosch
2006-04-24  5:27     ` Nicolas Pitre
2006-04-24 15:19       ` Geert Bosch
2006-04-24 15:57         ` Nicolas Pitre
2006-04-24 16:31           ` Geert Bosch
2006-04-24 18:24             ` Geert Bosch
2006-04-24 18:27           ` Geert Bosch
2006-04-24 19:21           ` Rutger Nijlunsing
2006-04-24 20:37         ` Petr Baudis
2006-04-24 18:44       ` Geert Bosch
2006-04-25 18:22     ` Rene Scharfe
2006-04-22 20:36 ` Davide Libenzi
2006-04-23  2:31   ` Geert Bosch
2006-04-24 19:10     ` Davide Libenzi
2006-04-24 19:23       ` Geert Bosch

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=444A2334.3030501@lsrfire.ath.cx \
    --to=rene.scharfe@lsrfire.ath.cx \
    --cc=bosch@adacore.com \
    --cc=git@vger.kernel.org \
    --cc=junkio@cox.net \
    /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).