Eric Thomas <ERIC@FRECP11>
Sun, 8 Nov 1987 21:15 SET
|
I have seen that several users tried to use the BITEARN database on
LISTSERV@FRECP11, and got kicked by the CPU limit. This discouraged most of
them, and the remainder obviously found it too slow to be useful since they
abandoned it very quickly.
I have just completed the assemblerization of a good deal of the SEARCH
command. The date-related keywords (SINCE/FROM/TO) and the complete WHERE
clause now get processed in assembler. That is, if you do a "Select * in
BITEARN where (country is (F or D) and machine contains IBM) or site contains
schule since may 86", all of the search gets done in assembler. If you had
done "Select Jenkins <rest same as above>", the WHERE and date clauses would
be done in assembler and then the search for "Jenkins" would be done in REXX,
but only on the remaining entries of course.
Some figures (sample command: "Select * in BITEARN where country is F and site
contains ecole", which yields 3 hits):
- The old REXX version took 1:13 minute of CPU time to execute (4381-11).
- The new version takes only 3.6 seconds, of which 0.75 are spent in the
assembler code itself (the rest is spent sending back the reply, etc).
- It takes 0.65 second to read the complete index file with an 'EXECIO * DISKR
(SKIP', ie 85% of the CPU time is spent in the CMS disk routines. This also
means that the critical factor is now disk speed and channel availability,
not brute CPU power, and that it will take almost the same time regardless
of the complexity of the WHERE clause (the nesting level is limited to 40
:-) ).
So, you can now feel free to make complex searches on the BITEARN database on
LISTSERV@FRECP11 *only* (LISTSERV@CEARN is still running the old version). Be
sure to try tricky searches and to report bugs as soon as you encounter them.
You know what happens to an assembler program when you aimed for the '3' key
and your finger hit '4' instead... :-)
Eric
|
|
|