That's very true. It's probably because performance is something that you can have a "feel" for as you look at some code, while memory usage takes a lot more (system-wide, sometimes) analysis to determine.
Do you have any tips on how to keep the memory usage down for large files? And, how hungry is "quite hungry"? :) Will parsing 20,000 lines of generic C-style code take tens, hundreds, or thousands of MBs? Stan On Wed, Aug 26, 2009 at 10:30 PM, David-Sarah Hopwood < [email protected]> wrote: > Stanislav Sokorac wrote: > > I guess the tricky thing will be to insert this functionality without > > significantly adding to the run time.. If the stream has to check for > > macros, and also mux between the regular stream and the macro definition, > > I'm adding two 'if' checks on every single character. Maybe more if I'm > also > > selectively updating character positions. > > I wouldn't worry about that. There are already several dynamically > dispatched method calls per character. > > > I could have the lexer signal to the stream when the switch is needed to > > remove one of those, at least. > > > > Or am I over-optimizing here, is lexer already doing way more on every > > character than I'm talking about here? I am going to be running into some > > significantly large files, so I'd like to avoid overhead wherever I > can... > > For parsing large files, I would worry more about memory. ANTLR lexer/ > parsers are quite memory-hungry, and typically almost nothing can be gc'd > until the input is completely parsed and the CharStream and TokenStream > objects have been discarded. > > (FWIW, I think most programmers systematically overestimate the performance > effect of running additional code, and underestimate the effect of memory > usage. The latter can absolutely kill performance if it leads to swapping.) > > -- > David-Sarah Hopwood ⚥ http://davidsarah.livejournal.com > > > List: http://www.antlr.org/mailman/listinfo/antlr-interest > Unsubscribe: > http://www.antlr.org/mailman/options/antlr-interest/your-email-address > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "il-antlr-interest" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/il-antlr-interest?hl=en -~----------~----~----~----~------~----~------~--~---
List: http://www.antlr.org/mailman/listinfo/antlr-interest Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address
