Mon May 15 00:53:00 2000 Jarkko Hietaniemi <jhi@alpha.hut.fi>
* The test suite would got stuck if there were no words
beginning with a certain letter. Reported by Paul Schinder.
* Now testing also words ending with a certain letter.
* Give an estimate on the remaining testing time on the big
vocabulary test as it may take a while.
* Release as 1.11.
Fri May 12 23:16:07 2000 Jarkko Hietaniemi <jhi@alpha.hut.fi>
* Handle metacharacters: now you can use the regular
expression metacharacters in your words withour fear
of the resulting regex being illegal (famous last words?)
Note that this also also means that if you have been using
metacharacters in your words, they will now be backslash-protected.
* Run a big test (and time-consuming, up to several minutes)
in case we can find a dictionary file (like /usr/dict/words).
Show also timings compared with the naïve way. They look sweet:
# Hang on, collecting words for the next test...
# Got 25486 words.
# NOTE THAT THIS TEST WILL TAKE SEVERAL MINUTES.
# WE WILL TEST ALL THE LETTERS FROM a TO z.
# Testing 1408 words beginning with 'a'...
# Naïve/create: 0 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU)
# Naïve/execute: 15 wallclock secs (14.52 usr + 0.02 sys = 14.53 CPU)
# PreSuf/create: 1 wallclock secs ( 1.72 usr + 0.03 sys = 1.75 CPU)
# PreSuf/execute: 3 wallclock secs ( 2.08 usr + 0.02 sys = 2.10 CPU)
# Testing 1277 words beginning with 'b'...
# Naïve/create: 0 wallclock secs ( 0.02 usr + 0.00 sys = 0.02 CPU)
# Naïve/execute: 13 wallclock secs (13.08 usr + 0.03 sys = 13.12 CPU)
# PreSuf/create: 2 wallclock secs ( 1.45 usr + 0.00 sys = 1.45 CPU)
# PreSuf/execute: 1 wallclock secs ( 1.37 usr + 0.00 sys = 1.37 CPU)
# Testing 2144 words beginning with 'c'...
# Naïve/create: 0 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU)
# Naïve/execute: 23 wallclock secs (22.40 usr + 0.05 sys = 22.45 CPU)
# PreSuf/create: 3 wallclock secs ( 2.90 usr + 0.02 sys = 2.92 CPU)
# PreSuf/execute: 3 wallclock secs ( 2.90 usr + 0.00 sys = 2.90 CPU)
# Testing 1145 words beginning with 'd'...
The naïve way is just to concatenate the words with "|"
(that's the Naïve/create). PreSuf/create is the presuf() call.
The */execute are the running times of the respective
regular expressions.
* Release as 1.10. The jump in the version number is
warranted by the fixed handling of metacharacters.
Thu May 11 23:15:16 2000 Jarkko Hietaniemi <jhi@alpha.hut.fi>
* PreSuf.pm: make the debug prints only to show up
when debugging requested (aaargh, I've developed
a bad habit of doing this lately, leaving debugging
on for the released versions), spotted by Mike Giroux.
* Fix two bugs spotted by Mike Giroux: qw(rattle rattlesnake)
and qw(rata ratepayer rater) didn't produced correct results.
* Release as 1.03.
Sat May 6 01:17:24 2000 Jarkko Hietaniemi <jhi@iki.fi>
* Fix a bug where qw(aba a) was presufixed as 'ab?a',
which incorrectly matches qw(aba aa).
Now correctly produces 'a(?:ba)?'. Bug spotted by
Mark Kvale.
* Release as 1.02.
Wed Apr 12 19:33:37 2000 Jarkko Hietaniemi <jhi@iki.fi>
* Release as 1.01.
Wed Apr 12 05:49:52 2000 Jarkko Hietaniemi <jhi@iki.fi>
* Tell about prefix_length() and suffix_length().
* Fixed tiny documentation nits.
* Bump version number to 0.005.