GNU bug report logs - #14776
24.3.50; [PATCH] parse-time-string performance

Previous Next

Package: emacs;

Reported by: Andreas Politz <politza <at> hochschule-trier.de>

Date: Wed, 3 Jul 2013 01:23:01 UTC

Severity: wishlist

Tags: patch, wontfix

Found in version 24.3.50

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #17 received at 14776 <at> debbugs.gnu.org (full text, mbox):

From: Andreas Politz <politza <at> hochschule-trier.de>
To: 14776 <at> debbugs.gnu.org
Subject: Re: bug#14776: 24.3.50; [PATCH] parse-time-string performance
Date: Thu, 04 Jul 2013 17:41:29 +0200
Glenn Morris <rgm <at> gnu.org> writes:

> Glenn Morris wrote:
>
>> Why is it called 30+ times per article? Naively, seems like a chance for
>> a ~ 30x speed-up, compared to the ~ 4x one you seem to achieve.
>
> Oh, parse-time-string-chars, not parse-time-string. Ignore me.

Yes, but I just noticed something different.

In my benchmark the unpatched function runs for 41.5s on 100*3000 calls,
which comes down to an average of 0.415s per 3000 dates (or articles in
a summary buffer displaying parsed dates).  This should actually not be
very noticeable.

But it was. It took gnus ~40s to display this amount of articles and
most of it was spend in parse-time-string.  After tweaking it (i.e. the
patch) it came down to ~10s.  Now, looking more closely at the above,
non-gnus numbers, this makes no sense. (Though it's appealing to jump to
a conclusion, because it appears to be the correct factor.)

I should have tested this with -Q.  The reason is a customized
gc-cons-percentage (0.2) and gc-cons-threshold (67108864).  Using the
default values shows almost no difference anymore in gnus, i.e. both
versions (stock and patched) need around ~10s.

I suppose there are various lessons to learn from this endeavour.

-ap




This bug report was last modified 5 years and 335 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.