From: Ted Zlatanov <tzz@lifelogs.com>
To: ding@gnus.org
Subject: Re: Asynchroneous image retrieval in HTML rendering
Date: Mon, 02 May 2011 12:12:59 -0500 [thread overview]
Message-ID: <87fwoxvxes.fsf@lifelogs.com> (raw)
In-Reply-To: <m3ei4hi39q.fsf@quimbies.gnus.org>
On Mon, 02 May 2011 16:30:09 +0200 Lars Magne Ingebrigtsen <larsi@gnus.org> wrote:
LMI> Antoine Levitt <antoine.levitt@gmail.com> writes:
>> That doesn't change much for my test cases, so I guess the DNS lookup is
>> indeed the bottleneck.
LMI> Have you verified that the DNS lookup is really the problem? Because I
LMI> have more theories. :-) (Or, as scientists call it, "guesses".)
LMI> One thing about the async image retrieval is that it's massively
LMI> parallel. If there's 500 images in the article, Gnus will call
LMI> `url-retrieve' 500 times in rapid succession, which will then fire off
LMI> 500 HTTP connections (in parallel, more or less).
LMI> I suspect that Emacs doesn't really like having this number of async
LMI> socket sentinels going on at the same time, which means that the main
LMI> Emacs thread gets no CPU time, which gives us interactive pauses.
LMI> (And it's really rude towards the server. It's basically a one-Emacs
LMI> DoS attack.)
LMI> So I'm going to rewrite this by adding a new library, called, er,
LMI> url-queue.el, which has the same interface as `url-retrieve', but which
LMI> manages the parallelism in a more sensible way, by not having more than
LMI> (for instance) four connections going at the same time.
It may be nice at this point to include libcurl in Emacs.
I would start by testing an article with 500 local images vs. one with
500 remote images. That will eliminate the network variable.
Ted
next prev parent reply other threads:[~2011-05-02 17:12 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-23 22:18 Antoine Levitt
2011-04-28 20:03 ` Antoine Levitt
2011-04-29 9:04 ` Julien Danjou
2011-04-29 9:18 ` Antoine Levitt
2011-04-29 10:01 ` Julien Danjou
2011-04-29 20:34 ` Antoine Levitt
2011-05-01 15:13 ` Lars Magne Ingebrigtsen
2011-05-01 15:23 ` Antoine Levitt
2011-05-01 15:42 ` Lars Magne Ingebrigtsen
2011-05-01 16:06 ` Lars Magne Ingebrigtsen
2011-05-01 16:34 ` Adam Sjøgren
2011-05-01 16:45 ` Lars Magne Ingebrigtsen
2011-05-01 17:15 ` Antoine Levitt
2011-05-02 7:52 ` Antoine Levitt
2011-05-02 14:30 ` Lars Magne Ingebrigtsen
2011-05-02 14:53 ` Antoine Levitt
2011-05-02 15:17 ` Lars Magne Ingebrigtsen
2011-05-02 17:08 ` Lars Magne Ingebrigtsen
2011-05-02 17:24 ` Antoine Levitt
2011-05-02 17:40 ` Lars Magne Ingebrigtsen
2011-05-02 21:52 ` Antoine Levitt
2011-05-04 18:40 ` Simon Josefsson
2011-05-30 20:55 ` Lars Magne Ingebrigtsen
2011-05-05 8:25 ` Julien Danjou
2011-05-30 20:56 ` Lars Magne Ingebrigtsen
2011-05-05 10:48 ` Ted Zlatanov
2011-05-05 10:58 ` Julien Danjou
2011-05-05 11:17 ` Antoine Levitt
2011-05-05 13:51 ` Ted Zlatanov
2011-05-05 14:01 ` David Engster
2011-05-05 14:07 ` Julien Danjou
2011-05-05 15:05 ` Lars Magne Ingebrigtsen
2011-05-05 19:49 ` David Engster
2011-05-05 20:07 ` Lars Magne Ingebrigtsen
2011-05-05 14:25 ` David Engster
2011-05-05 14:34 ` Antoine Levitt
2011-05-05 14:59 ` David Engster
2011-05-05 15:00 ` David Engster
2011-05-02 17:53 ` Lars Magne Ingebrigtsen
2011-05-02 18:18 ` Lars Magne Ingebrigtsen
2011-05-02 17:12 ` Ted Zlatanov [this message]
2011-05-02 17:20 ` Lars Magne Ingebrigtsen
2011-05-02 21:18 ` Steinar Bang
2011-05-02 22:40 ` Lars Magne Ingebrigtsen
2011-05-03 14:09 ` Ted Zlatanov
2011-05-03 18:48 ` Steinar Bang
2011-05-02 21:15 ` Steinar Bang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87fwoxvxes.fsf@lifelogs.com \
--to=tzz@lifelogs.com \
--cc=ding@gnus.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).