|
From: Damian M. <da...@er...> - 2002-01-21 22:26:50
|
On 21 Jan 2002, Braden McDaniel wrote: > On Fri, 2001-12-28 at 06:50, Damian McGuckin wrote: > > > > In our quest for speed, we inline'd _GetNextChar() and it turns out that > > on a 1000Mhz Pentium, isNewLineChar() is chewing up 10% of the time on > > nextToken(). > > > > I was thinking of inlining all the routines in the anonymous namespace. > > Where inlining is showing a tangible performance increase, I certainly > think we should do it. We certainly saw the gains under Windows and Linux. > I'd like at some point to rewrite our parser to use Spirit instead of > ANTLR. I don't know if that'll end up giving us a speed boost, but I'd > be surprised if it hurt us. (My primary motivation is that I think > Spirit would be a less annoying dependency.) Spirit's still evolving > kinda rapidly, and the ANTLR parser works, so I'm not in a rush to get > this done. I just had a look at Spirit. Looks cool. Why would it be a less annoying dependency? I must admit I have really only used Lex & Yacc in anger over the years. > It looks like you're focusing on the scanner here for performance > improvements; and I think any improvements there should help us > regardless of whether we're using ANTLR or Spirit. The performance of the scanner increases the speed of loading the initial scene. As this is the first thing somebody notices, then it sticks the hardest in their mind if it is slow. I'd like to try and come up with a compiled form of the ASCII files. You'd be amazed at how much time is spent reading integers and reals when you are loading a 6MB Ascii VRML file. Thanks - Damian (McGuckin) Pacific Engineering Systems International, 22/8 Campbell St, Artarmon NSW 2064 Ph:+61-2-99063377 .. Fx:+61-2-99063468 | unsolicited email not wanted here ! Views and opinions here are mine and not those of any past or present employer |