[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/gcmh 12fd03c 24/32: Set the new timer for running once
From: |
Andrea Corallo |
Subject: |
[elpa] externals/gcmh 12fd03c 24/32: Set the new timer for running once and on post-command-hook |
Date: |
Mon, 16 Nov 2020 17:32:07 -0500 (EST) |
branch: externals/gcmh
commit 12fd03c7c0915b2ae470e77e6600ad04f7f67dde
Author: Andrea Corallo <andrea.corallo@arm.com>
Commit: Andrea Corallo <andrea.corallo@arm.com>
Set the new timer for running once and on post-command-hook
---
gcmh.el | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
diff --git a/gcmh.el b/gcmh.el
index dd9f2a6..c81e698 100644
--- a/gcmh.el
+++ b/gcmh.el
@@ -72,6 +72,14 @@ cause OS paging."
This is to be used with the `pre-command-hook'."
(setq gc-cons-threshold gcmh-high-cons-threshold))
+(defun gcmh-register-idle-timer ()
+ "Register a timer to run `gcmh-idle-garbage-collect'.
+Cancel the previous one if present."
+ (when (timerp gcmh-idle-timer)
+ (cancel-timer gcmh-idle-timer))
+ (setf gcmh-idle-timer
+ (run-with-idle-timer gcmh-idle-delay nil #'gcmh-idle-garbage-collect)))
+
(defun gcmh-idle-garbage-collect ()
"Run garbage collection after `gcmh-idle-delay'."
(if gcmh-verbose
@@ -96,15 +104,14 @@ This is to be used with the `pre-command-hook'."
(cancel-timer gcmh-idle-timer))
(if gcmh-mode
(progn
- (setq gc-cons-threshold gcmh-high-cons-threshold
- ;; When idle for gcmh-idle-delay, run the GC no matter what.
- gcmh-idle-timer (run-with-idle-timer gcmh-idle-delay t
-
#'gcmh-idle-garbage-collect))
- ;; Release severe GC strategy before the user restart to working
- (add-hook 'pre-command-hook #'gcmh-set-high-threshold))
+ (setf gc-cons-threshold gcmh-high-cons-threshold)
+ ;; Release severe GC strategy before the user restart to working
+ (add-hook 'pre-command-hook #'gcmh-set-high-threshold)
+ (add-hook 'post-command-hook #'gcmh-register-idle-timer))
(setq gc-cons-threshold gcmh-low-cons-threshold
gcmh-idle-timer nil)
- (remove-hook 'pre-command-hook #'gcmh-set-high-threshold)))
+ (remove-hook 'pre-command-hook #'gcmh-set-high-threshold)
+ (remove-hook 'post-command-hook #'gcmh-register-idle-timer)))
(provide 'gcmh)
- [elpa] externals/gcmh 65787bc 08/32: typo fix, (continued)
- [elpa] externals/gcmh 65787bc 08/32: typo fix, Andrea Corallo, 2020/11/16
- [elpa] externals/gcmh f542908 19/32: Merge branch 'feature/prevent-duplicate-timers' into 'master', Andrea Corallo, 2020/11/16
- [elpa] externals/gcmh f3389e9 26/32: Always use `setf' in place of `setq', Andrea Corallo, 2020/11/16
- [elpa] externals/gcmh 345121d 29/32: Readme update, Andrea Corallo, 2020/11/16
- [elpa] externals/gcmh 81844fa 09/32: update readme, Andrea Corallo, 2020/11/16
- [elpa] externals/gcmh dd69c84 10/32: add warning into readme, Andrea Corallo, 2020/11/16
- [elpa] externals/gcmh 537d050 18/32: Further minor typo, Andrea Corallo, 2020/11/16
- [elpa] externals/gcmh 8867533 20/32: Improve messaging, Andrea Corallo, 2020/11/16
- [elpa] externals/gcmh f449abb 27/32: No reason anymore to use `run-with-idle-timer' so use `run-with-timer', Andrea Corallo, 2020/11/16
- [elpa] externals/gcmh 8bf0666 30/32: Rename `gcmh-register-idle-timer' into `gcmh-register-idle-gc', Andrea Corallo, 2020/11/16
- [elpa] externals/gcmh 12fd03c 24/32: Set the new timer for running once and on post-command-hook,
Andrea Corallo <=
- [elpa] externals/gcmh 72683e1 13/32: Update conventions, Andrea Corallo, 2020/11/16
- [elpa] externals/gcmh b1bde50 22/32: Update copyright + email, Andrea Corallo, 2020/11/16
- [elpa] externals/gcmh 9e241e0 21/32: Fix missing `gcmh-low-cons-threshold' set introduced by 8867533, Andrea Corallo, 2020/11/16
- [elpa] externals/gcmh 84c43a4 23/32: Remove unnecessary require in README, Andrea Corallo, 2020/11/16
- [elpa] externals/gcmh 855f03e 25/32: Implement auto idle delay mode, Andrea Corallo, 2020/11/16
- [elpa] externals/gcmh 04e3c0c 28/32: Set `gcmh-auto-idle-delay-factor' to 20, Andrea Corallo, 2020/11/16
- [elpa] externals/gcmh 2827dff 31/32: Clean-up unnecessary logic, Andrea Corallo, 2020/11/16
- [elpa] externals/gcmh 5a83e25 32/32: Bump version 0.2, Andrea Corallo, 2020/11/16