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

From: Eli Zaretskii <[email-masked]>
Date: Fri, 20 Mar 2015 18:44:35 +0200

> Date: Fri, 20 Mar 2015 18:21:46 +0200
> From: Dmitry Gutov <[email-masked]>
> CC: [email-masked]
> 
> > I suggest to rewrite json-encode-char, it does a lot of unnecessary
> > stuff, starting with the call to encode-char (which was needed in
> > Emacs 22 and before, but no more).  The call to rassoc is also
> > redundant, since you already have that covered in your regexp.
> 
> Yes, I thought about that, but as the number of calls to 
> `json-encode-char' must have decreased by 10 in the new version (only 
> each 10th character needs to be encoded), and the runtime only decreased 
> by 3 (or by 2, in a different example I have), the total improvement 
> can't be dramatic enough even if `json-encode-char' is lightning-fast.

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.