Dan Christensen writes: > I'm now thinking that caching the parsed time in "time value" format (a > pair of integers) rather than a float might be more useful, since many > parts of Gnus need this information. It turns out that someone thought of this before, and implemented it as gnus-date-get-time in gnus-util, which caches the emacs time value as a text property on the date string that is being parsed! Clever idea: it works more generally than my method and doesn't require api changes to various functions. So all I had to do was call this function in a few places, and things are faster. For a group with about 6000 articles, the time for sorting with gnus-thread-sort-by-most-recent-date when from about 12 seconds to 1 second, and the time for generating the summary went from 8 seconds to 6 seconds. The patch below includes a ChangeLog. It also adds a message to gnus-sort-threads if the recursive sort fails and it falls back to the loop. That could be useful debugging information when timing these things. Please test and apply. Dan