[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Rendering regression in Gnus with gnus-treat-from-gravatar
From: |
Tassilo Horn |
Subject: |
Re: Rendering regression in Gnus with gnus-treat-from-gravatar |
Date: |
Wed, 22 Apr 2020 16:25:34 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Robert Pluim <address@hidden> writes:
Hi Robert and Adam,
> Adam> Robert writes:
> >> The new version doesnʼt do any more gravatar lookups than the
> >> old one, but it does by default do some DNS lookups. Is it
> >> better if you customize 'gravatar-service' to one of the other
> >> options?
>
> Adam> Of the three possible options for gravatar-service:
> Adam> gravatar, unicornify, libravatar only the last, and default,
> Adam> libravatar exhibits the problem.
>
> OK, so itʼs the DNS. The libravatar method does a bunch of DNS
> queries, and those can be slow, and they're done for every article.
I have the same problem as Adam. And it happened two or three times
that upon clicking a message, Emacs started consuming 100% CPU and stuck
at least 30 seconds before I hit C-g. At one occurrence, I attached GDB
after waiting at least 30 seconds for the full message to appear and on
the bottom of the call stack was
dns-query
accept-process-output
Hm, that must be that while loop in dns-query but given the values of
step and times, I cannot see how that could block for so long. And
usually, it doesn't.
And in the ususal case, it is just slow in the sense of maybe 2-5
seconds. And in those normal cases, it's not so much the dns query but
the TLS negotiation with seccdn.libravatar.org (in case the DNS lookup
found no custom gravatar url).
Here's a profiler report gathered with:
(progn
(profiler-start 'cpu)
(gravatar-retrieve-synchronously "address@hidden")
(profiler-report)
(profiler-stop))
--8<---------------cut here---------------start------------->8---
- command-execute 33 100%
- call-interactively 33 100%
- funcall-interactively 33 100%
- eval-last-sexp 33 100%
- elisp--eval-last-sexp 33 100%
- eval 33 100%
- progn 33 100%
- progn 33 100%
- gravatar-retrieve-synchronously 32 96%
- let 32 96%
- save-current-buffer 25 75%
- set-buffer 25 75%
- if 25 75%
- url-retrieve-synchronously 25 75%
- url-retrieve 24 72%
- url-retrieve-internal 24 72%
- url-https 24 72%
- url-http 24 72%
- url-http-find-free-connection 24 72%
- url-open-stream 24 72%
- open-network-stream 24 72%
- network-stream-open-tls 24 72%
- open-gnutls-stream 24 72%
- gnutls-negotiate 24 72%
- gnutls-boot-parameters 1 3%
- gnutls-trustfiles 1 3%
- gnutls--get-files 1 3%
file-expand-wildcards 1 3%
+ accept-process-output 1 3%
- gravatar-build-url 7 21%
- format 7 21%
- funcall 7 21%
- gravatar--service-libravatar 7 21%
- let 7 21%
- unwind-protect 7 21%
- progn 7 21%
- if 7 21%
- let 7 21%
- catch 7 21%
- let 7 21%
- while 7 21%
- let 7 21%
- let* 7 21%
- dns-query 7 21%
- sit-for 6 18%
redisplay 3 9%
read-event 3 9%
--8<---------------cut here---------------end--------------->8---
Bye,
Tassilo
- Re: Rendering regression in Gnus with gnus-treat-from-gravatar, (continued)
- Re: Rendering regression in Gnus with gnus-treat-from-gravatar, Eli Zaretskii, 2020/04/14
- Message not available
- Re: Rendering regression in Gnus with gnus-treat-from-gravatar, Robert Pluim, 2020/04/15
- Re: Rendering regression in Gnus with gnus-treat-from-gravatar, Eli Zaretskii, 2020/04/15
- Re: Rendering regression in Gnus with gnus-treat-from-gravatar, Robert Pluim, 2020/04/15
- Re: Rendering regression in Gnus with gnus-treat-from-gravatar, Eli Zaretskii, 2020/04/15
- Re: Rendering regression in Gnus with gnus-treat-from-gravatar, Robert Pluim, 2020/04/15
- Re: Rendering regression in Gnus with gnus-treat-from-gravatar, Eli Zaretskii, 2020/04/15
- Re: Rendering regression in Gnus with gnus-treat-from-gravatar, Robert Pluim, 2020/04/15
- Re: Rendering regression in Gnus with gnus-treat-from-gravatar, Eli Zaretskii, 2020/04/15
- Re: Rendering regression in Gnus with gnus-treat-from-gravatar, Robert Pluim, 2020/04/15
- Re: Rendering regression in Gnus with gnus-treat-from-gravatar,
Tassilo Horn <=
- Re: Rendering regression in Gnus with gnus-treat-from-gravatar, Tassilo Horn, 2020/04/22
- Re: Rendering regression in Gnus with gnus-treat-from-gravatar, Robert Pluim, 2020/04/22
- Re: Rendering regression in Gnus with gnus-treat-from-gravatar, Tassilo Horn, 2020/04/22
- Re: Rendering regression in Gnus with gnus-treat-from-gravatar, Robert Pluim, 2020/04/22
- Re: Rendering regression in Gnus with gnus-treat-from-gravatar, Tassilo Horn, 2020/04/22
- Re: Rendering regression in Gnus with gnus-treat-from-gravatar, Robert Pluim, 2020/04/22