> >>> "GDA" == Geoffrey D Alexander <[EMAIL PROTECTED]> writes: > > > However, I did notice a slowdown of 5 to 20 percent in the C++ parser. > > Also, the C++ parser shows an increase of 10 to 15 percent in the number > > of memory allocation as reported by valgrind. > > > Is this a known problem? Are there plan to improve C++ parser > > performance? > > Yes, it is known: for various reasons (such as avoiding to copy the > content of the stack) we implemented the stack on top of a std::deque. > Of course I'd like to use something more efficient, say std::vector. > At the same time, I'd like to implement something similar to a weak > form of variants that would allow use to include objects too, not just > PODs on the stack. > > In the meanwhile, if you're interested in helping, it shouldn't be too > difficult to just keep the limitations, but use a std::vector.
Hi all, Another tip regarding performance of STL containers: containers such as list/vector have an additional template parameter that defaults to std::allocator. Often times, by passing in a customized allocator (e.g. pool-allocator) to the container type, you can get significant speedup. Also, std::vector has a useful reserve() member function that allows you to pre-allocate memory, which can reduce expensive reallocations as a result of push_back(). HTH, Fang David Fang Computer Systems Laboratory Electrical & Computer Engineering Cornell University http://www.csl.cornell.edu/~fang/ -- (2400 baud? Netscape 3.0?? lynx??? No problem!) _______________________________________________ help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison