Christopher Williams wrote: > I think the part we need to clean up is the build process. We grab the > source and parse it a number of times there. Instead we should do it once > and pass along the contents, root AST node and pointer to the IFile to > each > build participant. Yep;
> I've never cached the root AST underneath a RubyScript because I was > unsure > how much memory overhead it'd take up to hold onto that in memory, and Well... it shouldn't take up much. Ruby files tend to be quite small (I have yet to see a Ruby file that even approaches 100 KB), so that shouldn't be a problem, unless you really, _really_ need to have every single file in Rails, Rubinius, the Ruby standard lib, etc. open simultaneously. The overhead/space requiremens of the JRuby AST depend strongly on the source; 100 KB file consisting mostly of long comments or Strings won't take much more than the source itself, whereas a huge file consisting mostly of code like "a = [1,2,3,.............., 100000]" will take a huge amount of space, etc. The usual case will be somewhere in between that, though it'll be closer to the former. So: I guess post-0.9 RDT could have an AST updated regularly on the reconciler Job - although I'd have to check parsing speeds for JRuby; Alternatively it could be updated on demand. murphee PS Note to self: pressing "Send" is compulsory to get a mail to hop onto the interweb... just found this mail in my Drafts folder; -- Blog @ http://jroller.com/page/murphee Maintainer of EclipseShell @ http://eclipse-shell.sourceforge.net/ ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Rubyeclipse-development mailing list Rubyeclipse-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rubyeclipse-development