delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/01/21/18:45:31

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <41F193F9.6060709@mscha.org>
Date: Sat, 22 Jan 2005 00:44:57 +0100
From: Michael Schaap <cygwin AT mscha DOT org>
User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206)
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: Updated: fortune-1.99.1-1
References: <20050113202700 DOT GA3724 AT efn DOT org> <41F12481 DOT 7010205 AT mscha DOT org> <20050121225943 DOT GA2360 AT efn DOT org>
In-Reply-To: <20050121225943.GA2360@efn.org>
X-IsSubscribed: yes

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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019