[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [PATCH] convert file_info from singlely-linked list to rbtree



Hi!

On Thu, 2013-08-22 at 12:16:33 -0700, Shawn Landden wrote:
> now filenames are sorted via tree-sort to increase determinism in builds
> 
> lookup (was only used in check_conffiles()) is now O(log(n)) instead
> of O(n)

The problem is that this makes the build stall on sorting, because it
has to slurp all input from the pipe before it can start feeding paths
to tar. It also consumes lots more memory, as it needs to keep all
that data before it can start writing it out. It's the equivalent of
injecting a "sort" into the "find" pipe, which would have been the
easier solution, and the reason I've not done just that before.

In any case today I finished a directory tree walker I started writing
yesterday, that I was going to need anyway to add tar write support,
which sorts per directory, so that the stalls are pretty small, and
frees stuff as it goes taking a similar amount of memory as the
unsorted find command. I need to clean it up a bit, and prepare some
tests but I'll merge that for 1.17.2 or 1.17.3.

> The license of libtree is a bit funny: _Library_ GPL _2_ (which doesn't exist)
> I have asked upstream for clarification on this:
> 
> https://github.com/fbuihuu/libtree/issues/7

Well that'd be <http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html>.

I've been trying to get rid of GPLv2-only code, so I'm not planning
on merging any new code with such license anyway.

Thanks,
Guillem


Reply to: