Bug#409664: bsdiff: is extremely slow on some files, sometimes hangs

2017-08-16 Thread Julian Andres Klode
On Sun, Feb 04, 2007 at 05:30:18PM +0100, A Mennucc wrote:
> Package: bsdiff
> Version: 4.3-3
> Severity: normal
> 
> hi
> 
> I manage the debdelta project
> http://tonelli.sns.it/pub/mennucc1/debdelta/
> 
> debdelta needs a 'delta compressor' as a backend;
> and bsdiff would be one of the best choices, as shown
> by my tests in 
> http://tonelli.sns.it/pub/mennucc1/debdelta/tests
>  but for a strange problem ... actually, two problems
> 
> ---Problem number one:
> sometimes bsdiff hangs forever (or, for more than
> I am willing to wait). I am capable of extracting from debdelta the
> exact "old" and "new" files that hang it; but unfortunately most of
> those are not easily reproducible ... it is as if bsdiff is
> triggering a bug in my CPU or in my memory.
> 
> You find all my collected examples of "old" and "new" files in
> http://tonelli.sns.it/pub/mennucc1/debdelta/slowest_bsdiff/
> 
> BTW: I run debdeltas in a amd64 Etch install; the CPU is a Athlon64
> 3000 . That host is quite stable, and never shows problems with any
> other service.
> 
> ---Problem number two:
> on some short files, where my experience says that
> 'bsdiff' should compute a diff in a matter of minutes, then 'bsdiff'
> would slow down a lot. 
> 
> The strangest one is gcl_old gcl_new : once (~6 month ago) I ran 
> $ bsdiff gcl_old gcl_new /tmp/diff 
> and it took 8 hours to complete this is 10 times slower than
> average.  (I am currently running that command, it has gone on 
> for 5 hours).
> 
> I currently prepend 'stopafter 600 TERM' to my 'bsdiff' invocation
> ('stopafter' is a nice utility that was in Debian once; that
> cmd stops bsdiff after 600 seconds, using SIGTERM).
> This "fixes" my problem, but is not really a fix.

We should apply the following 4 patches from chromium - they are small,
and, as part of Chromium, also presumably well tested:

(1) 
https://chromium.googlesource.com/chromiumos/third_party/bsdiff/+/e2b85ce4ea246ca804ee2a9e18005c44e193d868

Replacing the custom suffix sorting implementation with -ldivsufsort. This
brings down the time to generate a delta (for the proposed new format) for 
libreoffice-core 5.4~rc2-1->5.4-1 from 93 seconds down to 50 seconds.

It also just involves replacing code with a library call, so that's nice
as well.

(2) 
https://chromium.googlesource.com/chromiumos/third_party/bsdiff/+/a055996c743add7a9558839276fd1e4994d16bd3

Speeds up a pathological case

(3) 
https://chromium.googlesource.com/chromiumos/third_party/bsdiff/+/58146f74abd6b1b69693943195f37f4ac6a6acef

Fixes a hang

(4) 
https://chromium.googlesource.com/chromiumos/third_party/bsdiff/+/426e4aa1cbeb3c8a73002047d7a796ca8e5e17d4

Another pathological case where files differ by less than 8 bytes

-- 
Debian Developer - deb.li/jak | jak-linux.org - free software dev
  |  Ubuntu Core Developer |
When replying, only quote what is necessary, and write each reply
directly below the part(s) it pertains to ('inline').  Thank you.



Bug#409664: bsdiff: is extremely slow on some files, sometimes hangs

2009-12-02 Thread Colin Percival
Hi,

Jari Aalto wrote:
 Could you take a look at Debian bug
 
   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=409664
 
 and see if any of the suggested algorithm solutions could be applied.

It should be possible to fix this problem via algorithmic changes, yes.
Unfortunately I haven't had the {time, money} to make the necessary
adjustments.

-- 
Colin Percival
Security Officer, FreeBSD | freebsd.org | The power to serve
Founder / author, Tarsnap | tarsnap.com | Online backups for the truly paranoid



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#409664: bsdiff: is extremely slow on some files, sometimes hangs

2009-11-28 Thread Jari Aalto
forwarded 409664 Colin Percival cperc...@daemonology.net
thanks

Hi Colin,

Could you take a look at Debian bug

  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=409664

and see if any of the suggested algorithm solutions could be applied.

Thanks,
Jari



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#409664: bsdiff: is extremely slow on some files, sometimes hangs

2007-02-04 Thread A Mennucc
Package: bsdiff
Version: 4.3-3
Severity: normal

hi

I manage the debdelta project
http://tonelli.sns.it/pub/mennucc1/debdelta/

debdelta needs a 'delta compressor' as a backend;
and bsdiff would be one of the best choices, as shown
by my tests in 
http://tonelli.sns.it/pub/mennucc1/debdelta/tests
 but for a strange problem ... actually, two problems

---Problem number one:
sometimes bsdiff hangs forever (or, for more than
I am willing to wait). I am capable of extracting from debdelta the
exact old and new files that hang it; but unfortunately most of
those are not easily reproducible ... it is as if bsdiff is
triggering a bug in my CPU or in my memory.

You find all my collected examples of old and new files in
http://tonelli.sns.it/pub/mennucc1/debdelta/slowest_bsdiff/

BTW: I run debdeltas in a amd64 Etch install; the CPU is a Athlon64
3000 . That host is quite stable, and never shows problems with any
other service.

---Problem number two:
on some short files, where my experience says that
'bsdiff' should compute a diff in a matter of minutes, then 'bsdiff'
would slow down a lot. 

The strangest one is gcl_old gcl_new : once (~6 month ago) I ran 
$ bsdiff gcl_old gcl_new /tmp/diff 
and it took 8 hours to complete this is 10 times slower than
average.  (I am currently running that command, it has gone on 
for 5 hours).

I currently prepend 'stopafter 600 TERM' to my 'bsdiff' invocation
('stopafter' is a nice utility that was in Debian once; that
cmd stops bsdiff after 600 seconds, using SIGTERM).
This fixes my problem, but is not really a fix.

thanks

a.

-- 
Andrea Mennucc
 E' un mondo difficile. Che vita intensa! (Tonino Carotone)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]