|
Boost : |
Subject: Re: [boost] [Graph] iterator range splitting
From: Sandeep Gupta (gupta.sandeep_at_[hidden])
Date: 2009-06-26 19:33:40
On Fri, Jun 26, 2009 at 4:15 PM, Jeremiah Willcock<jewillco_at_[hidden]> wrote:
> On Fri, 26 Jun 2009, Sandeep Gupta wrote:
>
>> Hi Jeremiah,
>> The issue Tim brought up was regarding the case when the graph is not
>> fully read in the main memory. Instead memory is allocated per
>> out_edges invocation. For this to work the algorithm should not break
>> range obtained from a out_edges call. However current implementation
>> of dijkstra's does exactly that.
>>
>> -- an example of range split: "depth_first_search(g, vis, color,
>> *vertices(g).first);"
>>
>> Tim proposed that he should be able to provide patch to fix such
>> cases. I hope he has because for my current project I intend to
>> process a graph stored externally.
>
> What is wrong with the call to depth_first_search? That is getting a single
> vertex, not the whole range. I applied the kinds of things that were in his
> patch (not always in the same way), so his issues should be fixed. BGL was
> not built for out-of-core applications, though, so a lot of the changes are
> implementation details that can't really be relied upon. Are you trying to
> page in and out edge sets as needed, and that's why you need ranges to be
> used more consistently?
>
Yes, ideally i would like to page-in and -out the edge sets. Glad to
know that these issues are fixed. I believe that as long as the calls
to out_edges are indepenet/decoupled paging-in and -out should work.
Although I will double check things once i get around to implementing
it.
-thanks
sandeep
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk