No more file database.
All in memory checking super fast.
Yes! ;)

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED]] On Behalf 
> Of Vincent Harcq
> Sent: lundi 1 avril 2002 11:28
> To: 'Vincent Harcq'; 'Ara Abrahamian'; 
> [EMAIL PROTECTED]
> Subject: RE: [Xdoclet-devel] [RT] Persisting parsed data?
> 
> 
> So now a "template db" is constructed at first run (build 
> ejbdoclet) The next build ejbdoclet takes 7 sec (instead of 
> 29 !!) when nothing has changed. You need to delete manually 
> the template db in cases when you add or remove merge files 
> (not when you update one) which are very rare and most of the 
> time you will run -Dxdoclet.force=true which don't look this 
> db. Anytime a generation is done, the DB is updated with 
> (possible) new merge files. As you quoted the most tricky 
> part here is that doing a generation we missed some merge 
> files because a "for" loop is not run or because of "if" is 
> not run...  Which let me think I should provide another 
> parsing mechanism that only "grep" for <XdtMerge:merge> and 
> take its decision based on this.  That will simply make the 
> checking fast as the speed and will destroy my file DB AND 
> your trick as well.  We will only need a in memory db because 
> it will run very fast. I really want to take some more time 
> on these issues because now javadoc speed has disappeared we 
> should kill this "mouton a trois pattes" (sheep with 3 legs) 
> and have something completely transparent for the users. For 
> example looking at class hierarchy is not enough I think in 
> special cases like VO relationships,... Regards Vincent
> 
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED]] On Behalf 
> > Of Vincent Harcq
> > Sent: samedi 30 mars 2002 10:47
> > To: 'Ara Abrahamian'; [EMAIL PROTECTED]
> > Subject: RE: [Xdoclet-devel] [RT] Persisting parsed data?
> > 
> > 
> > > > The isGenerationNeeded( File file, URL templateURL )
> > takes a lot of
> > > > time. Because of parsing.
> > > > Can we not keep a javamake style database of merge files
> > for a basic
> > > > template file.
> > > 
> > > Are you checking merge files only?
> > 
> > Yes when looping the merge files...
> > 
> > > Or classes too? Say
> > > ejb-jar.xml, merge files are evaluated; are classes
> > > timestamp-checked too? I think not, but should be possible 
> > > too, in setCurrentClass()/pushClass the loop pointer is 
> > > moved, do a timestamp check on clazz there :o)
> > 
> > ... Then I checks ALL classes (most of the time for xml files
> > there is a forAllClasses so ... This part is really quick.  
> > And we do not need to see if other classes than the tagged 
> > classes. At least while we are not mutate these classes.  It 
> > will be for later. And we don't need to check non tagged classes.
> > 
> > The first is really killing perf.
> > Build ejbdoclet ==> 29 sec
> > Build ejbdoclet -Dxdoclet.force ==> 58 sec
> > 
> > The 29 sec should be 1 or 2 sec.  All the time is passed in
> > the merge files timestamp lookup. I will try what I proposed 
> > to see... I'll come back with numbers... Then I 'll try yours 
> > and we'll see...
> > 
> > > 
> > > And you should anyway parse the template and run parts of the 
> > > template. We might have a merge inside a forAllClasses 
> loop, which 
> > > merges blabla-{0}.xml for example, and {0}=currentClass. My trick 
> > > will do it
> > > ;-)
> > > 
> > > > > PS: Anyone care to implement it? I'm not yet in a good
> > condition.
> > > > > The trick is: define an int runMode in XJavaDoc, set to
> > true when
> > > > > Vincent's code is to be run, reset when finished. In
> > > > > xjavadoc.ProxyClass, change everywgere resolve() is 
> > > called to first
> > > > > check this flag and don't resolve if 
> > > > > runMode==TIMESTAMP_PREPROCESSING_MODE. Note that to make
> > > templates
> > > > > actually finish you have to return a semi-meaningful
> > > result for each
> > > > > of the ProxyClass methods (public XMethod[] methods(){ if( 
> > > > > runMode==time... ) return NULL_METHODS;}. And so on.
> > > > 
> > > > Let me know what you think of my idea...I can take this if
> > > you don't
> > > > like it ;)
> > > 
> > > I like it but I'm not in a good shape atm ;-)
> > > 
> > > Ara.
> > > 
> > > 
> > > _________________________________________________________
> > > 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
> > > 
> > 
> > 
> > _______________________________________________
> > Xdoclet-devel mailing list [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/xdoclet-devel
> > 
> 
> 
> _______________________________________________
> Xdoclet-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/xdoclet-devel
> 


_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to