[PATCH] Fix for
Stephen J. Turnbull
stephen at xemacs.org
Sun Feb 20 21:30:21 EST 2005
>>>>> "Hrvoje" == Hrvoje Niksic <hniksic at xemacs.org> writes:
Hrvoje> Adrian Aichner <adrian at xemacs.org> writes:
>> I identified the performance issue today.
>>
>> It's present in both (defun operate-on-non-matching-lines
>> (regexp delete kill &optional beg end) and (defun
>> operate-on-matching-lines (regexp delete kill &optional beg
>> end) due to the way they the count lines (a feature the GNU
>> Emacs version does not have) by first concating each match to a
>> string. This causes enormuous consing and the resulting GC
>> activity makes performance unbearable at the default
>> gc-cons-threshold value.
Hrvoje> Why was this not a problem in pre-21.5 XEmacsen? Or was
Hrvoje> it something that was just as slow, only it was never
Hrvoje> noticed?
I suspect that there was no GCing until about a year ago. Around the
release of 21.4.12, Martin provided a patch to count big string
allocation in the consing counter. Before then, it was possible to
ENOMEM XEmacs with
(while t (make-string 10000 ?a))
because big string allocation wasn't included in the cons count.
--
Institute of Policy and Planning Sciences http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.
More information about the XEmacs-Beta
mailing list