On Thursday 04 February 2010 16:33:12 Philipp Kern wrote: > On Thu, Feb 04, 2010 at 07:19:23PM +0100, Philipp Kern wrote: > > I'm ok with using a Perl interpreter to determine from > > Packages-arch-specific (which is small compared to a Packages file) if an > > architecture is in a wildcarded list. However in the critical path it > > feels wrong. Did you already measure the impact of your patch? Just > > take one Packages file from unstable and a Sources file and run > > quinn-diff with and without your patch. > > Ok, it doesn't look that much slower. I produced a preliminary patch on > [1], based on yours. It's in the dpkg-perl branch of the repository.
I've attached a log showing different running times for quinn-diff with and without the dpkg-perl support on my system. Top of the log shows running time for current quinn-diff from unstable. Bottom of log shows quinn-diff built with dpkg-perl switch turned on in configure. I used a current Packages file for amd64 main, a corresponding Sources file, and Packages-arch-specific from https://buildd.debian.org/quinn-diff/Packages-arch- specific. Yes, there is a performance penalty, but it's not too bad I think. > We have some cases where we don't want that behaviour, see the patches to > parse_sources.c for that. Ok. Makes sense. > Furthermore it revealed that it used to check > ":" against the current architecture, so we managed to find yet another > bug through this change (see [2]). ;-) Heh, yeah I did see that. Didn't occur to me that I should've reported it. By the way, I would like to report that building quinn-diff from the dpkg-perl branch without the --with-dpkg-perl switch causes quinn-diff to segfault. > Kind regards, > Philipp Kern > > [1] > http://git.debian.org/?p=buildd-tools/quinn-diff.git;a=commitdiff;h=0a2759 > 4680caf998a31cc89da9767d45292d2de4 [2] > http://git.debian.org/?p=buildd-tools/quinn-diff.git;a=commitdiff;h=41ee93 > c0616023fb79f5b1961560ecbac402c418 > -- Regards, Andres
$ time quinn-diff -a Packages-arch-specific -p Packages-amd64 -s Sources real 0m0.275s user 0m0.236s sys 0m0.040s real 0m0.265s user 0m0.244s sys 0m0.020s real 0m0.270s user 0m0.228s sys 0m0.040s real 0m0.268s user 0m0.224s sys 0m0.040s real 0m0.274s user 0m0.248s sys 0m0.032s $ time quinn-diff/src/quinn-diff -a Packages-arch-specific -p Packages-amd64 -s Sources real 0m0.699s user 0m0.660s sys 0m0.032s real 0m0.705s user 0m0.660s sys 0m0.048s real 0m0.697s user 0m0.660s sys 0m0.036s real 0m0.709s user 0m0.660s sys 0m0.048s real 0m0.699s user 0m0.636s sys 0m0.056s