According to Robert Marchand: > I've downloaded the new 3.1.6 and I was going to replace our 3.1.5 > version when I encountered a big performance drop with htsearch. The > database was 3.1.5, and I had the two htsearch version > together. Difference was systematic (3.1.6 more than 10 time > slower). This reminded me of the "backlink_factor" effect. So I looked > something in the code were the document database would be called for each > match. I think I find where. > > In display.cc there is this test: > > // New check added on whether or not we need to check date ranges - MG > if (date_factor != 0.0 || backlink_factor != 0.0 || typ != SortByScore > || timet_startdate > 0 || enddate.tm_year < endoftime->tm_year) > > If there is no date specified, the code inside should not be executed, but > it is! I changed the test to this: > > // New check added on whether or not we need to check date ranges - MG > if (date_factor != 0.0 || backlink_factor != 0.0 || typ != SortByScore > || timet_startdate > 0 || timet_enddate < eternity) > > according to the "no date given" case and it works. Speed is as it was > with 3.1.5. > > So I do not fully understand this "date" stuff and in our case I don't > thing we will use it. > But if indeed the test is wrong, it should be corrected (maybe not with > what I did).
You're right! This is a bug. Thanks for the fix. This date stuff is part of the code contributed by Mike Grommet back in 1999, and modified a fair bit by me before putting it in 3.1.6. See http://www.htdig.org/attrs.html#startday and the last section of http://www.htdig.org/hts_form.html for more information. However, as much as I appreciate your bug report and fix, I would have been much more grateful to receive it a week or two ago, before 3.1.6 was released, rather than a few days after release. The 3.1.6 code has been available in pre-release snapshots for about six months, and for the last 3 of these 6 months we've been strongly recommending that users switch from 3.1.5 or older versions to the 3.1.6 snapshots for security reasons, as well as for bug fixes. I find it rather disturbing that a rather important and yet long-standing bug like this wasn't discovered and reported by anyone during the pre-release period. This suggests to me that a very, very small minority of htdig users even bothered to test the pre-release snapshots, preferring to wait instead for the final, "stable" release. Well, how is the final release supposed to become "stable" if nobody bothers to test it and report bugs before the code is actually released??? As for myself, I run htdig on a site with only a tad over 500 documents, so I can't pick up timing problems like this in htsearch during my own testing. The fact that you've found and fixed this bug, and the fact that you've contributed code to the 3.1.6 development (the accents fuzzy algorithm), suggests to be that you're a competant tester. We need people like you during the pre-release period so we can nail bugs like this before final release. The thought of having to roll out yet another 3.1.x release to fix 3.1.6 bugs really doesn't appeal to me, but after less than a week after 3.1.6 was released, the need for a 3.1.7 release is already becoming apparent. > I had also to change the Makefile.config.in to make it compile on our old > SGI plateform (SGI Irix 6.3 with the SGI Compiler): > > 265# diff -c Makefile.config.in.ORIG Makefile.config.in > *** Makefile.config.in.ORIG Thu Jan 31 18:47:14 2002 > --- Makefile.config.in Mon Feb 4 15:42:49 2002 > *************** > *** 23,29 **** > PDF_PARSER= @PDF_PARSER@ > SENDMAIL= @SENDMAIL@ > > ! DEFINES= -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\" > LIBDIRS= -L../htlib -L../htcommon -L../db/dist -L/usr/lib > INCS= -I$(top_srcdir)/htlib -I$(top_srcdir)/htcommon \ > -I../db/dist -I../include > --- 23,29 ---- > PDF_PARSER= @PDF_PARSER@ > SENDMAIL= @SENDMAIL@ > > ! DEFINES= @DEFS@ -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\" > LIBDIRS= -L../htlib -L../htcommon -L../db/dist -L/usr/lib > INCS= -I$(top_srcdir)/htlib -I$(top_srcdir)/htcommon \ > -I../db/dist -I../include > > Without that, make stop with an error in htlib because it cannot resolve > "alloca". The @DEFS@ just have the HAVE_CONFIG define. Yes, this does appear to be an omission in 3.1.x. The 3.2.x code does make use of DEFS in individual Makefile.in files in subdirectories, so I think 3.1.x should do likewise. -- Gilles R. Detillieux E-mail: <[EMAIL PROTECTED]> Spinal Cord Research Centre WWW: http://www.scrc.umanitoba.ca/~grdetil Dept. Physiology, U. of Manitoba Phone: (204)789-3766 Winnipeg, MB R3E 3J7 (Canada) Fax: (204)789-3930 _______________________________________________ htdig-general mailing list <[EMAIL PROTECTED]> To unsubscribe, send a message to <[EMAIL PROTECTED]> with a subject of unsubscribe FAQ: http://htdig.sourceforge.net/FAQ.html

