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 16:43:36 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Thunderbird/36.0

On 03/20/2015 04:34 PM, Eli Zaretskii wrote:

I suggest to start with a detailed profile of the current
implementation,

Any suggestions there? By the way, I've included the example, so you can also profile it yourself.

Here's the output of the built-in profiler, after using the current implementation:

CPU:

- command-execute                                   1147  79%
 - call-interactively                               1147  79%
  - funcall-interactively                           1082  74%
   - eval-last-sexp                                 1035  71%
    - elisp--eval-last-sexp                         1035  71%
     - eval                                         1035  71%
      - length                                      1035  71%
       - json-encode-string                         1035  71%
        - mapconcat                                  874  60%
           json-encode-char                          571  39%
   + execute-extended-command                         40   2%
   + previous-line                                     7   0%
  + byte-code                                         65   4%
- ...                                                298  20%
   Automatic GC                                      298  20%

Memory:

- command-execute                            255,362,537  99%
 - call-interactively                        255,362,537  99%
  - funcall-interactively                    255,349,159  99%
   - eval-last-sexp                          248,605,484  97%
    - elisp--eval-last-sexp                  248,605,484  97%
     - eval                                  217,011,432  84%
      - length                               217,011,432  84%
       - json-encode-string                  217,011,432  84%
        - mapconcat                           93,689,099  36%
           json-encode-char                   81,784,197  32%
          format                                     814   0%
       elisp--eval-last-sexp-print-value          11,954   0%
     + elisp--preceding-sexp                       2,048   0%
   + execute-extended-command                  6,743,643   2%
   + previous-line                                    32   0%
  + byte-code                                     13,378   0%
+ xselect-convert-to-string                          176   0%
  ...                                                  0   0%






reply via email to

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