|
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).
[Prev in Thread] | Current Thread | [Next in Thread] |