<html><head><title></title></head><body><!-- rte-version 0.2 9947551637294008b77bce25eb683dac --><div class="rte-style-maintainer" style="font-family: Arial; white-space: pre-wrap; font-size: small; color: rgb(0, 0, 0);"data-color="global-default" bbg-color="default" data-bb-font-size="medium" bbg-font-size="medium" bbg-font-family="normal">Thanks for the quick reply.  Yes, I forgot to attach it.  Should be attached now.<div><br></div><div>Matthew<br><div class="rte-style-maintainer" style="font-size: small; font-family: 'Courier New', Courier; color: rgb(0, 0, 0);"data-color="global-default" bbg-color="default" data-bb-font-size="medium" bbg-font-size="medium" bbg-font-family="fixed-width"><br><div class="bbg-rte-fold-content" data-header="From: nicholson@endlessm.com At: Jun 18 2016 10:19:35"data-digest="From: nicholson@endlessm.com At: Jun 18 2016 10:19:35"style=""><div class="bbg-rte-fold-summary">From: nicholson@endlessm.com At: Jun 18 2016 10:19:35</div><div>To: <a spellcheck="false" bbg-destination="mailto:mhanna21@bloomberg.net" href="mailto:mhanna21@bloomberg.net">MATTHEW HANNA (BLOOMBERG/ 731 LEX)</a><br>Cc: <a spellcheck="false"bbg-destination="mailto:rte:bind" href="mailto:pkg-config@lists.freedesktop.org">pkg-config@lists.freedesktop.org</a><br>Subject: Re: [PATCH 1/1] Improve performance of package list expansion.<br></div></div><div class="rte-internet-block-wrapper" style="color: black; font-family: Arial, 'BB.Proportional'; font-size: small; white-space: normal; background-attachment: initial; background-color: white; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;"data-blocked-bgimage="initial"><div class="rte-internet-block"><blockquote><p dir="ltr">Hi Matthew,</p> <p dir="ltr">I don't see the patch. Did you forget to attach it?</p> <p dir="ltr">Dan</p> <div class="gmail_quote">On Jun 18, 2016 6:31 AM, "Matthew Hanna (BLOOMBERG/ 731 LEX)" <<a spellcheck="false"bbg-destination="mailto:rte:bind" class="" href="mailto:mhanna21@bloomberg.net" data-destination="mailto:rte:bind">mhanna21@bloomberg.net</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="font-size: small; font-family: Arial; color: rgb(0, 0, 0); white-space: pre-wrap;">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'.</div><br>_______________________________________________<br>pkg-config mailing list<br><a spellcheck="false"bbg-destination="mailto:rte:bind" class="rte-from-internet" href="mailto:pkg-config@lists.freedesktop.org" data-destination="mailto:rte:bind">pkg-config@lists.freedesktop.org</a><br><a spellcheck="false"bbg-destination="rte:bind" class="" href="https://lists.freedesktop.org/mailman/listinfo/pkg-config"data-destination="rte:bind">https://lists.freedesktop.org/mailman/listinfo/pkg-config</a><br><br></blockquote></div>  <div style="width: 500px; font-style:oblique; margin: 14px; margin-left: 0px; padding-top: 4px; border-top: 1px dotted black"></div>       <pre>_______________________________________________
pkg-config mailing list
pkg-config@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/pkg-config
</pre>  </blockquote></div></div></div></div></div></body></html>