Subject: 29.0.50; 100% CPU usage with eww on https://blogsurf.io/

From: [email-masked]
Date: Thu, 31 Mar 2022 21:49:40 +0200

Hi,

I was surprised to see that particular site with eww leads to 100% CPU
usage for 2/3 minutes.

See profiler output below :

---------- CPU
     83,835,054  84% - url-http-generic-filter
     83,687,707  84%  - url-http-content-length-after-change-function
     82,024,107  82%   - url-http-activate-callback
     82,022,955  82%    - eww-render
     55,943,666  56%     - eww-display-html
     30,476,531  30%      - funcall-with-delayed-message
     30,476,531  30%       + #<compiled 0x6f61fe78c524dc6>
            704   0%        plist-put
             21   0%        url-generic-parse-url
     13,373,648  13%     + eww--after-page-change
          4,255   0%     + mail-header-parse-content-type
          1,098   0%     + url-generic-parse-url
          1,056   0%     + set-buffer-file-coding-system
      1,370,741   1%     file-size-human-readable-iec
          5,088   0%   + url-http-parse-headers
          8,360   0%  + url-http-wait-for-headers-change-function
     14,811,644  14% + command-execute
        186,472   0% + redisplay_internal (C function)
         26,027   0% + url-http-async-sentinel
         22,984   0% + timer-event-handler
         21,350   0% + nsm-verify-connection
            232   0% + gui-set-selection
            232   0% + deactivate-mark
             24   0% + eldoc-schedule-timer
              0   0%   ...
----------

---------- RAM
       50462  98% - url-http-generic-filter
       50458  98%  - url-http-content-length-after-change-function
       50366  98%   - url-http-activate-callback
       50366  98%    - eww-render
       50357  97%     - eww-display-html
          89   0%      + funcall-with-delayed-message
           1   0%     + eww--after-page-change
          74   0%     file-size-human-readable-iec
         689   1% + ...
         230   0% + command-execute
           8   0% + redisplay_internal (C function)
           2   0% + timer-event-handler
           1   0% + nsm-verify-connection
----------

Usually I found eww not too CPU hungry so I thought you may be
interested by that report.

In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.24, cairo version 1.16.0)
 of 2022-03-31 built on localhost
Repository revision: 948181df9cbdcc8845fc3662e2007d8e09f48c71
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: Debian GNU/Linux 11 (bullseye)

Configured using:
 'configure --build x86_64-linux-gnu --prefix=/opt/emacs
 --with-mailutils --with-sound=yes --without-gconf --without-gsettings
 --with-x=yes --without-toolkit-scroll-bars --with-x-toolkit=gtk3
 --with-json --with-native-compilation --with-xwidgets
 build_alias=x86_64-linux-gnu 'CFLAGS=-O2 -Wall ''

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ JPEG JSON LIBSELINUX
LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG SECCOMP SOUND
SQLITE3 THREADS TIFF X11 XDBE XIM XPM XWIDGETS GTK3 ZLIB

Important settings:
  value of $LANG: en_US
  locale-coding-system: utf-8

Major mode: Summary

Load-path shadows:
/home/user/.emacs.d/elpa/transient-0.3.7/transient hides /opt/emacs/share/emacs/29.0.50/lisp/transient