----- Original Message ----- From: "Thorsten Ottosen" <[EMAIL PROTECTED]>
> "Vincent Finn" <[EMAIL PROTECTED]> wrote in message > [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > > Hi, > > > > I assume this is the right place to post questions on Spirit now that it > > is part of boost! > > If not here, where? There's a Spirit specific mailing list that you can subscribe to here: https://lists.sourceforge.net/lists/listinfo/spirit-general This mailing list is also mirrored in gmane NTTP portal : news://news.gmane.org/gmane.comp.spirit.general Although I try my best to keep abreast with the latest boost posts in this list, sometimes, I get drowned and lose my pace. So there's a slight chance that I (and some other Spirit developers) might not notice your post. The Spirit list is relatively low traffic. > > My question is about compile speed. > > Is there any way to speed it up or at least seperate it from the project? > > > > I have added 2 parsers to my code base and the compile time (VC6) has > > gone from 10 mins to 30mins :-( Yes, this is the next battle. How big are your grammars? How many productions? Are you using subrules? Better yet, can I see your code? After the boost formal review, we are now concentrating on QOI issues. The most glaring are: 1) Compile time diagnostics 2) Compile speed. I think there's much room for improvement. We haven't started optimizing on compile time yet (as they say, optimize later). This is the first time a non-developer has noticed compile-speed problems. It would be nice if you can send me a snapshot of your grammars (if possible) with a short main() driver code that invokes the parser(s). I'll also need some more info such as: processor speed and available memory as well as your command line parameters. This will give me some clues on where the compiler is choking. At the very least, yes, you can separate the parsers from the project. How about writing some wrappers that *hides* the grammars in *.cpp files? You can for example have an opaque API in a header such as: bool parse(char const* source); or something more intricate depending on what you want to extract from the source. This was done, for example, in the C++ lexer. See the latest CVS snapshot. in directory: libs\spirit\example\application\cpp_lexer. You'll notice that the cpp_lexer.hpp header does not include any Spirit header. You can build separate DLLs or static libraries this way. > I love Spirit for its syntax and ease of use, but I must also admit that > compile times areŽ > very long, even for debug builds. > > I think I read something about a debug mode in uBLAS which was used to > reduce compilation > time; Could something similar be done in Spirit? Right now, I am looking at MPL style performance tweaks such as loop unrolling. The Spirit subrule in particular, makes the compiler crawl. JCAB has reported compile times in hours(!) when subrules were being developed a few months ago. He has done some tweaks that reportedly eased this, but the tweaks, as of now, does not work on non-PTS compilers yet (i.e. CV6/7). And that's why I asked whether Vincent is useing subrules. That might be the problem and for that, I think I'll have a solution very soon. About "debug mode in uBLAS", can you give me some links? Thank you, Joel de Guzman [EMAIL PROTECTED] http://www.boost-consulting.com _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost