This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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:

Hi Yitzckak,

On 13-Jan-2005 21:27, Yitzchak Scott-Thoennes wrote:

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.

Thanks for bracing the storm and doing this!

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.

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.

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.

Hmm, I never noticed. So that's why I didn't get offended. ;-)

the old fortune had fewer fortunes in far fewer files.

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 system calls...

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?

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.

Yeah, that helps quite a bit.
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".)


– Michael

Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]