Holy shit! I implemented the thread/wait/notify stuff last night, and it boosts performance incredibly! If you use xjavadoc to read only class-level tags it's now abot 5 times faster than javadog. Here is how it works:
A new thread is spawned for each source class. XJavaDoc waits until class level parsing is done. When the parser thread is done parsing the class level, the thread is suspended with a wait(), and XJavaDoc is notified, so it can continue. If one of the methods that require class body parsing is called (e.g. methods()), the parser thread of the class in question is woken up with a notify, and it parses the rest of the sources. During this parsing, we're also waiting to avoid a race condition. The parser threads are all daemons, so that the VM can exit even if they are still running or suspended. It was really fun to do some thread programming. I haven't done much of that lately. The idea was Ara's (of course). The parser is not static anymore, but so what? We finally found the weak spot, and where to optimize. Now I'm looking forward to use xjavadoc in xdoclet soon. Check out the benchmarks ;-) I guess that's enough optimising for now. The rest of the job is: 1) Write a proper test suite. Throw away the test classes that are there and add some custom written ones and try to break xjavadoc - and fix remaining bugs. 2) Put xjavadoc into xdoclet 3) Pick up Reverse XDoclet and XTags. (Konstantin is already working on the gui I think) See ya Aslak > -----Original Message----- > From: Ara Abrahamian [mailto:[EMAIL PROTECTED]] > Sent: 23. februar 2002 18:35 > To: [EMAIL PROTECTED] > Subject: RE: grammar > > > I knew it! The wait() trick seems simple, isn't it? > > Ara. > > > -----Original Message----- > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] > > Sent: Saturday, February 23, 2002 8:44 PM > > To: Ara Abrahamian > > Subject: RE: grammar > > > > Forget about branching. I'll take a look at it now ;-) > > > > Aslak > > > > _________________________________________________________ > > Do You Yahoo!? > > Get your free @yahoo.com address at http://mail.yahoo.com > > > _______________________________________________ Xdoclet-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/xdoclet-devel
