|
Boost : |
Subject: Re: [boost] [fusion] segmented fusion 2.0
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2011-08-12 05:50:47
On 08/12/2011 02:22 AM, Eric Niebler wrote:
> I don't think anybody has proposed to implement such a thing. It's a
> huge amount of work, and it wouldn't be as big a win.
It would definitely be a big win for numerical applications that need to
tile loops etc.
But then, ranges of ranges work just as well, and are a simpler concept.
The runtime perf
> gains would be modest, and it doesn't eliminate complexity because there
> would be no equivalent universal "segmented iterator" in the runtime
> world. (It would need to store the path-to-the-current-position
> dynamically, which is a cost nobody would be willing to pay.)
It can be reasonably well implemented using coroutines.
> So
> std::map would still need to implement its own iterators, and at that
> point you have to ask yourself why you're doing all that extra work.
The segmented iterator of std::map would require using O(log n) memory
(for the stack), while the flat one uses a constant amount of memory.
O(log n) is still quite reasonable though.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk