Re: Re: [PATCH 1/1] Improve performance of package list expansion.
Matthew Hanna (BLOOMBERG/ 731 LEX)
mhanna21 at bloomberg.net
Mon Jul 11 20:34:22 UTC 2016
Works for me. Attached is a revised patch that incorporates your suggestions.
Thanks,
Matthew
From: nicholson at endlessm.com At: 07/08/16 19:19:15
To: MATTHEW HANNA (BLOOMBERG/ 731 LEX), pkg-config at lists.freedesktop.org
Subject: Re: [PATCH 1/1] Improve performance of package list expansion.
That looks like a nice fix. I guess I only ever tested this with a small
set of packages. However, I think I'd like it reworked a bit. Since
there are only 2 callers, I'd prefer to have them create the hash table
and pass it to recursive_fill_list. Then you also don't need to create 2
versions of the static helper function. I also don't see a great reason
to change the function name, but I guess I don't feel that strongly
about that.
Thanks,
Dan
On Sun, 2016-06-19 at 12:57 +0000, Matthew Hanna (BLOOMBERG/ 731 LEX)
wrote:
> Thanks for the quick reply. Yes, I forgot to attach it. Should be
> attached now.
>
> Matthew
>
> From: nicholson at endlessm.com At: Jun 18 2016 10:19:35
> To: MATTHEW HANNA (BLOOMBERG/ 731 LEX)
> Cc: pkg-config at lists.freedesktop.org
> Subject: Re: [PATCH 1/1] Improve performance of package list
> expansion.
> Hi Matthew,
> I don't see the patch. Did you forget to attach it?
> Dan
> On Jun 18, 2016 6:31 AM, "Matthew Hanna (BLOOMBERG/ 731 LEX)" <mhanna2
> 1 at bloomberg.net> wrote:
> > In practice, for library sets with a high degree of dependency,
> > iteration over the tree with revisiting results in significant slow
> > down at best and pkg-config failure due to memory exhaustion at
> > worst. This patch replaces the 'in_requires_chain' flag that halted
> > circular dependencies with a hash table that marks visited package
> > nodes. The resulting algorithm is equivalent to a topological
> > sort. Although a boolean flag on each node could be used to
> > implement the algorithm, resetting the flag to false can only be
> > done after the algorithm is complete, creating a bit of extra
> > bookkeeping. Instead, I chose to use a new hash table to record the
> > visits, reducing the bookkeeping to a call to
> > 'g_hash_table_destroy'.
> >
> > _______________________________________________
> > pkg-config mailing list
> > pkg-config at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/pkg-config
> >
> _______________________________________________
> pkg-config mailing list
> pkg-config at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/pkg-config
> _______________________________________________
> pkg-config mailing list
> pkg-config at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/pkg-config
_______________________________________________
pkg-config mailing list
pkg-config at lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/pkg-config
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pkg-config/attachments/20160711/a2943942/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Improve-performance-of-packa.patch
Type: application/octet-stream
Size: 4518 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/pkg-config/attachments/20160711/a2943942/attachment.obj>
More information about the pkg-config
mailing list