Updated: fortune-1.99.1-1

Michael Schaap cygwin@mscha.org
Sat Jan 22 00:42:00 GMT 2005


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. ;-)

>  Additionally,
>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".)

Thanks,

– Michael

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list