[tor-commits] [nyx/master] Lessen overhead of idle daemon panels

atagar at torproject.org atagar at torproject.org
Sun Oct 1 23:14:44 UTC 2017


commit e82ed8c543d732e7b56d6db4852753755ddae9b8
Author: Damian Johnson <atagar at torproject.org>
Date:   Thu Sep 28 17:38:41 2017 -0700

    Lessen overhead of idle daemon panels
    
    Turns out having a daemon panel reacquire a lock every 0.2 seconds is fairly
    taxing, even if the panel isn't doing anything. That, and having the log panel
    every 0.3 seconds is kinda silly. This drops the log panel usage when idle by
    80% (0.5% to 0.1% on my system).
---
 nyx/panel/__init__.py | 2 +-
 nyx/panel/log.py      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/nyx/panel/__init__.py b/nyx/panel/__init__.py
index d575e42..2139634 100644
--- a/nyx/panel/__init__.py
+++ b/nyx/panel/__init__.py
@@ -207,7 +207,7 @@ class DaemonPanel(Panel, threading.Thread):
       if nyx_interface().is_paused() or (time.time() - last_ran) < self._update_rate:
         with self._pause_condition:
           if not self._halt:
-            self._pause_condition.wait(0.2)
+            self._pause_condition.wait(max(0.2, self._update_rate - 0.01))
 
         continue  # done waiting, try again
 
diff --git a/nyx/panel/log.py b/nyx/panel/log.py
index 4a6afe3..32cbfef 100644
--- a/nyx/panel/log.py
+++ b/nyx/panel/log.py
@@ -43,7 +43,7 @@ CONFIG = conf.config_dict('nyx', {
   'write_logs_to': '',
 }, conf_handler)
 
-UPDATE_RATE = 0.3
+UPDATE_RATE = 0.7
 
 # The height of the drawn content is estimated based on the last time we redrew
 # the panel. It's chiefly used for scrolling and the bar indicating its





More information about the tor-commits mailing list