>> Can we have more information or pointer on said algorithm? >> (It's possible it was discussed here and I missed the thread). >> > I'll have to direct this question over to Markus. I've seen him sketch it on > a whiteboard, but I'm not sure it's been capture sufficiently outside his > head.
The basic idea is that at any point resources can be split into those with pending dependencies (the interior) and those that are ready to process (frontier). When you process a resource on which other resources depend, you reduce the number of things on which they are waiting and may make them ready to process (moving them from the interior to the frontier). You are done (successfully) when both sets are empty, and have a loop when frontier is empty but the interior isn't. It's basically the graph analog of heap sort. The advantage come from not over specifying the order; _any_ resource on the frontier can be processed, which gives you freedom to do some optimizations / parallelizations / clever tricks. -- M ----------------------------------------------------------- The power of accurate observation is commonly called cynicism by those who have not got it. ~George Bernard Shaw ------------------------------------------------------------ -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
