Thời gian bạn dành để tối ưu hóa thời gian khởi động của bạn có thể sẽ lớn hơn tất cả thời gian thêm mà bạn có thể chờ đợi Emacs khởi động.
Hiện tại tôi thực hiện 25 require
cuộc gọi trong tệp init của mình để Flycheck có thể tìm thấy lỗi chính tả trong mã của tôi. Thời gian khởi nghiệp của tôi là ...
$ time emacs --eval '(save-buffers-kill-terminal)'
real 0m2.776s
user 0m2.305s
sys 0m0.148s
Ngoài ra, trên hệ thống của tôi, time emacs -Q --eval '(save-buffers-kill-terminal)'
có một real
số 0m0.404s
. Lượng thời gian tối đa theo lý thuyết tôi có thể tiết kiệm là 2,3 giây.
Nói rằng tôi dành một giờ để thực hiện tất cả các vấn đề tối ưu hóa cho tệp init của tôi. (Tôi sẽ không đếm thêm 15-30 phút dành cho một ngày sau đó để cố gắng tìm hiểu lý do tại sao các thay đổi của tôi không có hiệu lực do tệp init của tôi được biên dịch byte.) (Tôi cũng sẽ không đếm thời gian Flycheck sẽ cứu tôi trong trình gỡ lỗi nếu tôi không xóa các require
cuộc gọi.) Có 3600 giây trong một giờ, vì vậy nếu tôi cố gắng lưu toàn bộ 2,3 giây, khoản đầu tư của tôi sẽ chỉ trả hết sau 1565 lần khởi động.
Giả sử tôi đã khởi động lại Emacs 3 lần một ngày, mỗi ngày, sẽ mất một năm rưỡi để khoản đầu tư đó được trả hết. Nếu tôi để cùng một ví dụ Emacs hoạt động nhiều ngày liền (như tôi thường làm), có lẽ tôi chỉ khởi động lại từ 2 đến 5 lần một tuần, trong trường hợp đó, phải mất 6 đến 15 năm để khoản đầu tư đó được thanh toán.
Tôi rất hào phóng, vì bạn có thể dành hơn một giờ để tối ưu hóa khởi nghiệp của mình và có lẽ bạn sẽ không tiết kiệm được số giây lý thuyết tối đa.