Hello Martin, Martin Fisher ha escrito:
Took a look at the flyweight library.
I'm very much a beginner - so not a formal review, just a couple of comments:
I wrote a very simple test program to try flyweight.
In essence:
[...]
This fails to compile with Borland Turbo C++ (internal compiler error)
This is expected as flyweight<> default factory is based on Boost.MultiIndex,
which is not supported on Borland. You might try redefining your flyweight
type as
flyweight
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. Joaquín M López Muñoz Telefónica, Investigación y Desarrollo