summaryrefslogtreecommitdiffstats
path: root/Process.c
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2013-05-24 22:46:01 +0000
committerHisham Muhammad <hisham@gobolinux.org>2013-05-24 22:46:01 +0000
commit6cfa9e0bf2ded1add3f018986268d9b1c3b119b6 (patch)
treeeef7e35c7002f1e375fdd671380c3f1e8b9b839a /Process.c
parent5c2d84aba37e79a2a07cf846c340c0e3d74695f0 (diff)
Performance improvements due to conditional parsing of IO data depending on selected fields.
On my machine, this gives a ~20% improvement in htop process time use with the default config.
Diffstat (limited to 'Process.c')
-rw-r--r--Process.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/Process.c b/Process.c
index af56b704..6765be7a 100644
--- a/Process.c
+++ b/Process.c
@@ -45,6 +45,12 @@ in the source distribution for its full text.
#include "IOPriority.h"
#include <sys/types.h>
+#define PROCESS_FLAG_IO 1
+#define PROCESS_FLAG_IOPRIO 2
+#define PROCESS_FLAG_OPENVZ 4
+#define PROCESS_FLAG_VSERVER 8
+#define PROCESS_FLAG_CGROUP 16
+
#ifndef Process_isKernelThread
#define Process_isKernelThread(_process) (_process->pgrp == 0)
#endif
@@ -201,6 +207,31 @@ const char *Process_fieldNames[] = {
"*** report bug! ***"
};
+const int Process_fieldFlags[] = {
+ 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+#ifdef HAVE_OPENVZ
+ PROCESS_FLAG_OPENVZ, PROCESS_FLAG_OPENVZ,
+#endif
+#ifdef HAVE_VSERVER
+ PROCESS_FLAG_VSERVER,
+#endif
+#ifdef HAVE_TASKSTATS
+ PROCESS_FLAG_IO, PROCESS_FLAG_IO, PROCESS_FLAG_IO, PROCESS_FLAG_IO, PROCESS_FLAG_IO, PROCESS_FLAG_IO, PROCESS_FLAG_IO,
+ PROCESS_FLAG_IO, PROCESS_FLAG_IO, PROCESS_FLAG_IO,
+#endif
+#ifdef HAVE_CGROUP
+ PROCESS_FLAG_CGROUP,
+#endif
+ PROCESS_FLAG_IOPRIO
+};
+
const char *Process_fieldTitles[] = {
"", " PID ", "Command ", "S ", " PPID ", " PGRP ", " SESN ",
" TTY ", " TPGID ", "- ", "- ", "- ", "- ", "- ",

© 2014-2024 Faster IT GmbH | imprint | privacy policy