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

Reply via email to