Date: 2005-08-06 08:53:13
Rob Stewart wrote:
>>Rob Stewart wrote:
>>>I just tried that version tonight. So far, it has taken well
>>>over 30 minutes to compile junction_example.cpp, and it's still
>It took just over 39 minutes to complete.
g++ 4.0.1 is a lot faster, but needs more RAM (as I saw with top).
Compilation times of my test program with the new version:
g++4.0.1 1,5 minutes
g++3.3.6 7,5 minutes
g++2.95 3,75 minutes
I'm using Linux and tested the compilers with -O0 -g -Wall -W options
(no optimizing and debug infos) and the "time" command for the
compilation time measurement. I think comparisons with optimizing
activated makes no sense, because the compiler version are to different.
>>test program. I removed the xxx_of functions for STL-Iterators, because
>>Ranges of STL-Iterators can be generated with make_iterator_range(
>>begin, end )
>I haven't looked at supporting pairs of iterators yet. You're
>right that one can use make_iterator_range, but if we can use a
>pair right out of the box, all the better
see below. There is another reason why I removed them.
>I switched back to your test program and it again took a very
>long time to compile. When I ran it, it dumped core due to what
>looks like infinite recursion (SIGSEGV).
No, the problem is that you removed the storage of the Range. When you
create a instance of a junction with the STL-iterator-range with
boost::range::make_iterator_range() it creates a temporary object which
is lost after creating the junction creation. That was the secons reason
I removed the STL Ranges support. ;-) In my new version (v9) I use
references to the range. ( But I think the cost of holding a range would
be minimal. )
>BTW, you should consider writing your tests such that you don't
>have to visually inspect each test each run to decide whether
>you're getting the correct answer. Do you save a vetted copy of
>the output and diff the output of a new run against that each
No :-). I have seperate test programs, which I haven't put into the zip
file, because they are still under construction.
>Also, you should not put your code directly into namespaceboost.
>Following Boost guidelines, you'd create a "junctions" namespace
Ok, will be done for the next version
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk