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
