bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#58302: 29.0.50; browse-url-emacs is extremely slow (and I think alwa


From: Phil Sainty
Subject: bug#58302: 29.0.50; browse-url-emacs is extremely slow (and I think always has been?)
Date: Thu, 13 Oct 2022 00:28:20 +1300
User-agent: Orcon Webmail

On 2022-10-13 00:03, Lars Ingebrigtsen wrote:
I think the conclusion here is that using the file-name-handler-alist
stuff for this is the absolutely pessimal way to implement
`browse-url-emacs'.

It should be pretty easy to rewrite browse-url-emacs to just call
`url-retrieve-synchronously' explicitly, and then display the resulting
data -- and it should be much, much faster.

Undoubtedly so; but making the existing approach more efficient might
also bring the same benefits to other functionality?

E.g.:

(url-handler-mode 1)

(trace-function 'url-retrieve-synchronously "*trace-output*"
                (lambda () (format " [%s]" url-request-method)))

(find-file "http://www.example.com";)

======================================================================
1 -> (url-retrieve-synchronously #s(url "http" nil nil "www.example.com" nil "" nil nil t nil t t)) [OPTIONS] 1 <- url-retrieve-synchronously: #<buffer *http www.example.com:80*> [OPTIONS]
======================================================================
1 -> (url-retrieve-synchronously #s(url "http" nil nil "www.example.com" nil "" nil nil t nil t nil)) [HEAD] 1 <- url-retrieve-synchronously: #<buffer *http www.example.com:80*> [HEAD]
======================================================================
1 -> (url-retrieve-synchronously #s(url "http" nil nil "www.example.com" nil "" nil nil t nil t t)) [OPTIONS] 1 <- url-retrieve-synchronously: #<buffer *http www.example.com:80*> [OPTIONS]
======================================================================
1 -> (url-retrieve-synchronously #s(url "http" nil nil "www.example.com" nil "" nil nil t nil t nil)) [HEAD] 1 <- url-retrieve-synchronously: #<buffer *http www.example.com:80*> [HEAD]
======================================================================
1 -> (url-retrieve-synchronously "http://www.example.com";) [nil]
1 <- url-retrieve-synchronously: #<buffer *http www.example.com:80*> [nil]
======================================================================
1 -> (url-retrieve-synchronously #s(url "http" nil nil "www.example.com" nil "" nil nil t nil t t)) [HEAD] 1 <- url-retrieve-synchronously: #<buffer *http www.example.com:80*> [HEAD]
======================================================================
1 -> (url-retrieve-synchronously #s(url "http" nil nil "www.example.com" nil "" nil nil t nil t t)) [HEAD] 1 <- url-retrieve-synchronously: #<buffer *http www.example.com:80*> [HEAD]
======================================================================
1 -> (url-retrieve-synchronously #s(url "http" nil nil "www.example.com" nil "" nil nil t nil t t)) [HEAD] 1 <- url-retrieve-synchronously: #<buffer *http www.example.com:80*> [HEAD]






reply via email to

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