新增了一个 sjtu 的镜像,写了更简单的代码测试下:
;; `seq-sort-by', added at Emacs 26.1
(require 'seq)
(defun find-fastest-mirror-for-me ()
(interactive)
(pp
(seq-sort-by
#'cdr
#'<
(mapcar
(lambda (pair)
(let ((name (car pair))
(url (cdr pair)))
(cons
name
(benchmark-elapse
(url-copy-file
(concat url "archive-contents")
null-device
'OK-IF-ALREADY-EXISTS)))))
'((163 . "https://mirrors.163.com/elpa/melpa/")
(emacs-china . "https://elpa.emacs-china.org/melpa/")
(sjtu . "https://mirrors.sjtug.sjtu.edu.cn/emacs-elpa/melpa/")
(tencent . "https://mirrors.cloud.tencent.com/elpa/melpa/")
(tuna . "https://mirrors.tuna.tsinghua.edu.cn/elpa/melpa/"))))))
我这的结果,单位是秒,除了 Emacs China 其它都很快,请求的是 MELPA 的 archive-contents,大小 1575961 bytes(1.5 MB)
((sjtu . 0.394764)
(163 . 0.458133)
(tuna . 0.610646)
(tencent . 0.906701)
(emacs-china . 11.395072))