Skip to content

Instantly share code, notes, and snippets.

@arnested
Created June 27, 2012 21:16
Show Gist options
  • Select an option

  • Save arnested/3006911 to your computer and use it in GitHub Desktop.

Select an option

Save arnested/3006911 to your computer and use it in GitHub Desktop.
`url-retrieve-synchronously' is dead slow

On my Macbook url-retrieve-synchronously in Emacs 24 is dead slow when running in the graphical user interface while running it in a terminal (-nw) it is quite fast. That's weird.

Please try to evaluate the code below in an Emacs started with and without -nw (and both times started with -Q to rule out local configuration).

Please let me know if you also notice a remarkable speed difference. And please also let me know if you know why and what to do about it :-)

/Applications/Emacs.app/Contents/MacOS/Emacs -Q

/Applications/Emacs.app/Contents/MacOS/Emacs -Q -nw
[Arne Jørgensen](mailto:[email protected]) / [@arnejoergensen](https://twitter.com/arnejoergensen)
Function Name Call Count Elapsed Time Average Time
url-retrieve-synchronously 1 0.203976 0.203976
url-retrieve 1 0.09288 0.09288
url-retrieve-internal 1 0.092875 0.092875
url-scheme-get-property 8 0.039584 0.004948
url-do-setup 2 0.007301 0.0036505
url-cookie-parse-file 1 0.001133 0.001133
url-history-parse-history 1 0.000431 0.000431
url-lazy-message 2 0.000174 8.7e-05
url-generic-parse-url 3 0.000167 5.566...e-05
url-encode-url 1 9.1e-05 9.1e-05
url-file-directory 1 3.2e-05 3.2e-05
url-find-proxy-for-url 1 2.3e-05 2.3e-05
url-cookie-generate-header-lines 1 2e-05 2e-05
url-debug 19 1.900...e-05 1.000...e-06
url-cookie-setup-save-timer 1 1.5e-05 1.5e-05
url-setup-privacy-info 1 1.4e-05 1.4e-05
url-scheme-register-proxy 1 1.4e-05 1.4e-05
url-cookie-retrieve 1 1.4e-05 1.4e-05
url-recreate-url 2 1.300...e-05 6.500...e-06
url-hexify-string 2 1.2e-05 6e-06
url-pretty-length 2 9e-06 4.5e-06
url-default-find-proxy-for-url 1 8e-06 8e-06
url-history-setup-save-timer 1 6e-06 6e-06
url-device-type 3 3e-06 1e-06
url-percentage 2 3e-06 1.5e-06
url-path-and-query 1 3e-06 3e-06
url-type 3 2e-06 6.666...e-07
url-display-percentage 2 2e-06 1e-06
url-gc-dead-buffers 1 1e-06 1e-06
url-port-if-non-default 2 1e-06 5e-07
Function Name Call Count Elapsed Time Average Time
url-retrieve-synchronously 1 29.87796 29.87796
url-retrieve 1 0.03272 0.03272
url-retrieve-internal 1 0.032715 0.032715
url-scheme-get-property 8 0.025576 0.003197
url-do-setup 2 0.00269 0.001345
url-cookie-parse-file 1 0.000707 0.000707
url-lazy-message 2 0.000217 0.0001085
url-generic-parse-url 3 0.000149 4.966...e-05
url-encode-url 1 9.1e-05 9.1e-05
url-history-parse-history 1 3.7e-05 3.7e-05
url-file-directory 1 3.1e-05 3.1e-05
url-debug 19 3.000...e-05 1.578...e-06
url-find-proxy-for-url 1 2.8e-05 2.8e-05
url-scheme-register-proxy 1 2.5e-05 2.5e-05
url-cookie-generate-header-lines 1 1.8e-05 1.8e-05
url-setup-privacy-info 1 1.4e-05 1.4e-05
url-cookie-retrieve 1 1.4e-05 1.4e-05
url-recreate-url 2 1.300...e-05 6.500...e-06
url-hexify-string 2 1.300...e-05 6.500...e-06
url-pretty-length 2 1.2e-05 6e-06
url-cookie-setup-save-timer 1 1.1e-05 1.1e-05
url-default-find-proxy-for-url 1 1.1e-05 1.1e-05
url-percentage 2 4.999...e-06 2.499...e-06
url-history-setup-save-timer 1 4e-06 4e-06
url-type 3 3e-06 1e-06
url-path-and-query 1 3e-06 3e-06
url-device-type 3 2e-06 6.666...e-07
url-port-if-non-default 2 2e-06 1e-06
url-display-percentage 2 2e-06 1e-06
url-gc-dead-buffers 1 0.0 0.0
(with-temp-buffer
(require 'elp)
(require 'url)
(when (not (member 'url-retrieve elp-all-instrumented-list))
(elp-instrument-package "url-"))
(url-insert-file-contents "http://arnested.dk/robots.txt")
(elp-results))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment