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.
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.
Hmm, I never noticed. So that's why I didn't get offended. ;-)
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...Additionally, 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".)
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/