Re: Updated: fortune-1.99.1-1

2005-01-21 Thread Michael Schaap
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/


Re: Updated: fortune-1.99.1-1

2005-01-21 Thread Yitzchak Scott-Thoennes
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.

> 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.  Additionally,
the old fortune had fewer fortunes in far fewer files.

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.

--
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/



Re: Updated: fortune-1.99.1-1

2005-01-21 Thread Michael Schaap
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.)

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.

You might think: what's the big deal, a second to run fortune, but I'm 
running fortune from my prompt(*), so I now have to wait up to a second 
for my prompt to appear.

– Michael
(*): This is using zsh. I basically have the following lines in my .zshrc:
# Load color arrays
autoload colors
colors
# Fortune before every prompt
precmd()
{
echo -n "\n$fg[blue]"
fortune -a -s # but think about the children...
echo -n "$reset_color"
}
--
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/