GNU bug report logs -
#55729
27.1; Emacs 28.1 `string-match' is five times slower than Emacs 27.1
Previous Next
Reported by: Chen Bin <chenbin.sh <at> gmail.com>
Date: Mon, 30 May 2022 14:47:01 UTC
Severity: normal
Found in version 27.1
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Chen Bin <chenbin.sh <at> gmail.com> writes:
> Run below code in both Emacs 28.1 and Emacs 27.1
>
> ;; Run "base64 /dev/urandom | head -c 3000000000 > 3g.txt" to create 3g.txt
> ;; Then run below code in Emacs,
> (setq content
> (with-temp-buffer
> (let ((coding-system-for-read 'utf-8-unix))
> (insert-file-contents "3g.txt"))
> (buffer-string)))
>
> (message "content length=%s" (length content))
> (let* ((gc-cons-threshold most-positive-fixnum))
> (message "%s vs %s"
> (benchmark-run-compiled 1
> (string-match "aaaaa" content))
> (benchmark-run-compiled 1
> (string-match "bbbbb" content))))
>
> Using same machine, same emacs setup, 28 is alwasy much slower than 27.
>
> Emacs 28 enables native compilation. But string-match is C API, so I'm not
> sure native compilation matters.
Did you disable compiler optimizations when building Emacs?
This bug report was last modified 3 years and 49 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.