$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] lifetime of ranges vs. iterators
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2008-09-03 23:29:47
AMDG
David Abrahams wrote:
> I think the optimizer can remove some redundant tests if the functions
> are inlined. But, that said, I am becoming more and more convinced as
> this discussion goes on that compressing stacked iterator adaptors is
> barking up the wrong tree if you care about efficiency. The difference
> between the code generated in the abstracted case and the code you'd
> write by hand is simply too great.
>
> No, I don't have a picture of a better solution yet. But it's an
> interesting problem.
>
Here are some measurements for my current version of filter_iterator
In brief:
4 function objects containing two integers each: 3.39 seconds
4 stateless function objects: 2.813 seconds
4 stateless function objects combined using phoenix's && rather than
stacked iterators: 2.563 seconds
1 stateless function object 2.015 seconds
raw for loop using vector iterators 2.516 seconds
raw for loop using pointers: 1.703 seconds
These were all doing the same calculation over the same underlying vector.
In Christ,
Steven Watanabe