Boost logo

Boost Users :

From: Joaquín Mª López Muñoz (joaquin_at_[hidden])
Date: 2008-01-30 08:32:15


Joaquín Mª López Muñoz ha escrito:

> Hello Martin,
>
> Martin Fisher ha escrito:
>
> > Under MS Visual C++ (Express 2008) it compiles ok.
> > There is quite a performance hit over a standard vector<string> - 6s ->
> > 80s in debug and 101s in release?
> > From the docs I'd expected to just use copy and back_inserter?
> >
> > However, the showstopper for me at present is this crashes with:
> >
> > Managed Debugging Assistant 'FatalExecutionEngineError' has detected a
> > problem in 'd:\Users\Martin\Documents\Visual Studio
> > 2008\Projects\fly\Debug\fly.exe'.
>
> Are you compiling in C++/CLI (CLR) mode rather than pure C++? This
> might be the cause of the speed penalty and the crash. I don't know how
> compatible the library is with managed C++'s. If you can provide me with
> a complete test program I'll be happy to try it myself this afternoon
> (in ~10 hours) and report my findings.

You might want to take a look at a performance measuring program
that is provided in the examples section:

http://svn.boost.org/svn/boost/sandbox/flyweight/libs/flyweight/doc/examples.html#example5

As you can see, the kind of test it performs is similar to what your program
does. I've just compiled it with MSVC++ 6.0 and run it against a text file of
Don Quixote (http://www.gutenberg.org/dirs/etext99/2donq10.txt, ~2 MB)
and the results are (release mode):

1. simple string
Time used: 7.218 s
Bytes used: 44416133

2. flyweight, hashed factory
Time used: 5.062 s
Bytes used: 5852582

3. flyweight, hashed factory, no tracking
Time used: 4.328 s
Bytes used: 5750046

4. flyweight, set-based factory
Time used: 5.782 s
Bytes used: 5963774

5. flyweight, set-based factory, no tracking
Time used: 4.953 s
Bytes used: 5861238

The results are in no way similar to what you're getting, so I'm growing more
suspicious the problem has to do with your using C++/CLI instead of C++.
Maybe you can run the performance program yourself and compare.
I'll be able to provide figures for MSVC++ 8.0 this afternoon, and, if
you provide me with your test program, I will also run that.

Best,

Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net