On 11/23/2009 01:07 PM, Robert Grimm wrote:
> Jon,
>
> if C++ memory management overheads are what really bogs down your parsers, 
> you might want to take a page out of Scott McPeak's playbook:
>
> His Elkhound-generated C++ parsers do not free memory nor do they integrate 
> GC. Instead, you just allocate from a dedicated region, copy out the AST 
> after parsing, and kill the entire region in one operation.
>
> Maybe that might help. Then again I like Rats!-generated parsers to be faster 
> :)
>
>    
Yes, I thought of that as well. Last time I checked I could not find a 
way to override 'new' for a single file/module. Either its globally 
defined or its defined for a single class. I could override new for all 
my AST structures but I used std::string a few times which I have no 
control over. But if I got rid of std::string then it may be possible.

_______________________________________________
PEG mailing list
PEG@lists.csail.mit.edu
https://lists.csail.mit.edu/mailman/listinfo/peg

Reply via email to