bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#20154: 25.0.50; json-encode-string is too slow for large strings


From: Dmitry Gutov
Subject: bug#20154: 25.0.50; json-encode-string is too slow for large strings
Date: Fri, 20 Mar 2015 18:52:26 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Thunderbird/36.0

On 03/20/2015 06:44 PM, Eli Zaretskii wrote:

To see how much of the time is taken by json-encode-char, replace it
with something trivial, like 1+, and see what speedup you get.

Yep. Replacing the second definition with

(defun json-encode-big-string (str)
  (with-temp-buffer
    (insert str)
    (goto-char (point-min))
    (while (re-search-forward "[\"\\/\b\f\b\r\t]\\|[^ -~]" nil t)
      (replace-match "z" t t))
    (format "\"%s\"" (buffer-string))))

still makes it take ~100ms on the example string (as opposed to 2ms in the optimized Python implementation).





reply via email to

[Prev in Thread] Current Thread [Next in Thread]