This is the mail archive of the
mailing list for the Cygwin project.
Re: Updated: fortune-1.99.1-1
On 21-Jan-2005 23:59, Yitzchak Scott-Thoennes wrote:
On Fri, Jan 21, 2005 at 04:49:21PM +0100, Michael Schaap wrote:Indeed, it is quite a bit faster on subsequent runs ("time fortune -a"
initially reports 1.3 seconds, subsequently 0.3 seconds), although it
'forgets' this quite quicky, after a minute or so it's back to 1.3 already.
On 13-Jan-2005 21:27, Yitzchak Scott-Thoennes wrote:
Thanks for bracing the storm and doing this!
Achilles: Don't tell me you believe in fortune-telling!
Tortoise: No...but they say it works even if you don't believe in it.
-- GEB, Hofstadter
I've made a new version of fortune available for installation.
One thing, though: this version is much, much slower than the previous
one. It takes around a second to produce a fortune, while the old one
ran pretty much instantaneously. (This is on a high end XP box.)
Is that the first time you run it, or every time? For me it goes
much faster on subsequent runs, presumably due to disk cache.
Hmm, I never noticed. So that's why I didn't get offended. ;-)
When I run "strace fortune", the new version produces 16,771 lines of
output. The old version produces 467 lines...
I won't attach it to this message, for size reasons.
I will actually try it in the next day or so, but I believe this is
due to a bug in the old fortune version where the -a switch was
disregarded and only a single fortune file checked.
I think that's certainly part of the reason. However, that probably
doesn't explain the whole slowdown: there are now about 35 times as many
the old fortune had fewer fortunes in far fewer files.
By the way, I'm also running fortune-mod version 9708, with almost as
many fortunes, on a Linux box (with lower specs than my Windows box),
and there it's running much faster: 0.015s on the first run.
There are no *.u8 symlinks there, by the way. And I tried removing those
from the Cygwin /usr/share/games/fortunes directory: that actually makes
it about twice as fast... Are those *.u8 symlinks doing anything useful?
Yeah, that helps quite a bit.
Nevertheless, I will see if there's any way to speed up the selection
from any files.
As a workaround, you can cat together the base fortune files (those
without a .dat or .u8 extension), run /usr/bin/strfile on it to create
the .dat file, and create a .u8 symlink to it. Then run fortune without
the -a switch but with your large file name.
With only two fortune files (one regular, one offensive), and without
the .u8 symlinks, it runs pretty smoothly: 0.064 seconds.
(For the record: for the offensive fortunes, use "strfile -x".)
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html