From: "Clément Pit-Claudel" <cpitclaudel@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: Sv: Emacs HTTP libraries [was: Re: How to contribute new package to GNU ELPA?]
Date: Tue, 30 Mar 2021 12:49:25 -0400 [thread overview]
Message-ID: <8260671e-df0a-e471-79fb-82f80e11696a@gmail.com> (raw)
In-Reply-To: <838s64k3xk.fsf@gnu.org>
On 3/30/21 12:21 PM, Eli Zaretskii wrote:
>> From: Clément Pit-Claudel <cpitclaudel@gmail.com>
>> Date: Tue, 30 Mar 2021 12:13:55 -0400
>>
>>> (benchmark-run 1 (url-retrieve-synchronously
>>> "https://ftp.gnu.org/gnu/emacs/emacs-27.2.tar.xz"))
>>>
>>> in Emacs, and compared that with download by wget. On my relatively
>>> slow home connection I get almost the same times, down to less than
>>> 2%.
>>
>> On my decently fast home connection, Emacs takes 4.5s-5s to download that file using the form you posted, and wget takes 1.4s-2s to download the same file:
>>
>> (benchmark-run 1 (url-retrieve-synchronously "https://ftp.gnu.org/gnu/emacs/emacs-27.2.tar.xz"))
>> ⇒ (4.875848555 13 3.7572300619999623)
>
> But note that the actual Emacs download time was 4.876 - 3.757 = 1.319
> sec, the rest was taken by GC. What happens if you set
> gc-cons-threshold to a very large value?
Good point:
(let ((gc-cons-threshold (expt 2 32)))
(benchmark-run 1 (url-retrieve-synchronously "https://ftp.gnu.org/gnu/emacs/emacs-27.2.tar.xz")))
⇒ (3.181631628 0 0.0)
⇒ (1.46930467 0 0.0)
> Also, nowadays we have a variable to tune how much stuff do we read in
> one go (by default just 4K), so might as well test the effect of that
> on download times.
You're completely right:
(let ((gc-cons-threshold (expt 2 32))
(read-process-output-max (expt 2 22)))
(benchmark-run 1 (url-retrieve-synchronously
"https://ftp.gnu.org/gnu/emacs/emacs-27.2.tar.xz")))
⇒ (1.446506607 0 0.0)
⇒ (2.441543274 0 0.0)
Adding back GC:
(let ((read-process-output-max (expt 2 22)))
(benchmark-run 1 (url-retrieve-synchronously
"https://ftp.gnu.org/gnu/emacs/emacs-27.2.tar.xz")))
⇒ (2.719771409 7 1.9299083920000157)
Although, to be fair, I'm not sure what to make of these numbers. With the GC change only, for example, Emacs reports 1.45s after freezing for 7 to 8 seconds, not 1.45 — I guess that's because the GC runs after the benchmarking completes?
Clément.
next prev parent reply other threads:[~2021-03-30 16:49 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-17 12:11 How to contribute new package to GNU ELPA? stardiviner
2020-12-19 6:22 ` Stefan Monnier
2020-12-19 7:08 ` stardiviner
2020-12-19 15:35 ` Stefan Monnier
2020-12-20 2:12 ` stardiviner
2020-12-20 12:29 ` Emacs HTTP libraries [was: Re: How to contribute new package to GNU ELPA?] Adam Porter
2020-12-20 13:44 ` Daniel Brooks
2021-03-28 1:47 ` T.V Raman
2021-03-28 22:42 ` Vladimir Sedach
2021-03-29 9:00 ` Sv: " arthur miller
2021-03-29 22:03 ` Jose E. Marchesi
2021-03-29 22:09 ` Darshit Shah
2021-03-30 11:12 ` Arthur Miller
2021-03-30 12:03 ` Daniel Martín
2021-03-30 12:46 ` Stefan Kangas
2021-03-30 12:50 ` Eli Zaretskii
2021-03-30 13:14 ` Lars Ingebrigtsen
2021-03-30 13:39 ` Eli Zaretskii
2021-03-30 13:48 ` Lars Ingebrigtsen
2021-03-30 13:55 ` Eli Zaretskii
2021-03-30 14:25 ` Eli Zaretskii
2021-03-30 14:34 ` Lars Ingebrigtsen
2021-03-30 15:15 ` Eli Zaretskii
2021-03-31 13:36 ` Lars Ingebrigtsen
2021-03-30 16:13 ` Clément Pit-Claudel
2021-03-30 16:21 ` Eli Zaretskii
2021-03-30 16:49 ` Clément Pit-Claudel [this message]
2021-03-30 17:03 ` Eli Zaretskii
2021-03-30 19:53 ` Clément Pit-Claudel
2021-03-31 1:08 ` Stefan Monnier
2021-03-31 6:22 ` Eli Zaretskii
2021-03-31 5:54 ` Eli Zaretskii
2021-03-30 20:53 ` T.V Raman
2021-03-31 6:02 ` Eli Zaretskii
2021-03-31 16:01 ` read-process-output-max (was: Emacs HTTP libraries) Stefan Monnier
2021-03-31 17:13 ` Eli Zaretskii
2021-03-31 23:05 ` read-process-output-max Stefan Monnier
2021-04-01 7:12 ` read-process-output-max Eli Zaretskii
2021-03-30 18:08 ` Sv: Emacs HTTP libraries [was: Re: How to contribute new package to GNU ELPA?] Arthur Miller
2021-03-31 8:59 ` Robert Pluim
2021-03-31 17:21 ` Daniel Brooks
2021-04-01 14:23 ` Robert Pluim
2021-04-01 16:09 ` Daniel Brooks
2021-04-02 12:10 ` Robert Pluim
2021-04-01 16:57 ` tomas
2021-03-29 23:56 ` Daniel Brooks
2020-12-20 13:56 ` David Engster
2020-12-20 17:27 ` Lars Ingebrigtsen
2020-12-20 14:36 ` Stefan Monnier
2020-12-20 15:17 ` Jean Louis
2020-12-20 15:23 ` Helmut Eller
2020-12-20 16:02 ` Daniel Brooks
2020-12-21 5:47 ` Richard Stallman
2020-12-21 14:17 ` Stefan Monnier
2020-12-22 5:17 ` Richard Stallman
2020-12-21 16:59 ` Philip K.
2020-12-21 17:23 ` Eli Zaretskii
2020-12-21 17:41 ` Arthur Miller
2020-12-21 18:13 ` Eli Zaretskii
2020-12-21 18:18 ` Arthur Miller
2020-12-21 23:51 ` Philip K.
2020-12-22 3:32 ` Lars Ingebrigtsen
2020-12-22 3:35 ` Eli Zaretskii
2020-12-22 10:38 ` Philip K.
2020-12-22 16:02 ` Eli Zaretskii
2020-12-22 16:59 ` Philip K.
2020-12-22 17:15 ` Eli Zaretskii
2020-12-22 5:20 ` Richard Stallman
2020-12-22 6:42 ` Arthur Miller
2020-12-22 10:49 ` Philip K.
2020-12-22 12:03 ` Jean Louis
2020-12-22 13:23 ` Philip K.
2020-12-23 4:26 ` Richard Stallman
2020-12-22 13:04 ` Arthur Miller
2020-12-23 4:26 ` Richard Stallman
2020-12-23 11:27 ` Arthur Miller
2020-12-24 5:51 ` Richard Stallman
2020-12-24 12:59 ` Arthur Miller
2020-12-25 4:41 ` Richard Stallman
2020-12-20 14:18 ` How to contribute new package to GNU ELPA? Stefan Monnier
2020-12-21 14:03 ` stardiviner
2020-12-26 9:09 ` stardiviner
2020-12-26 15:21 ` dick.r.chiang
2020-12-26 20:24 ` Adam Porter
2020-12-26 20:39 ` Stefan Monnier
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8260671e-df0a-e471-79fb-82f80e11696a@gmail.com \
--to=cpitclaudel@gmail.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.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.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).