mirror of
https://github.com/xzeldon/htop.git
synced 2025-07-13 04:34:35 +03:00
Performance improvement hackathon: improve process comparison routines,
disable useless code in release builds such as runtime type-checking on dynamic data structures and process fields that are not being computed, faster(?) method for verifying the process owner (still need to ensure correctness), don't destroy and create process objects for hidden kernel threads over and over. Phew. I shouldn't be doing all this today, but I could not resist.
This commit is contained in:
10
Meter.c
10
Meter.c
@ -104,7 +104,11 @@ typedef enum {
|
||||
#define MAX(a,b) ((a)>(b)?(a):(b))
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
char* METER_CLASS = "Meter";
|
||||
#else
|
||||
#define METER_CLASS NULL
|
||||
#endif
|
||||
|
||||
MeterType* Meter_types[] = {
|
||||
&CPUMeter,
|
||||
@ -162,6 +166,9 @@ static RichString Meter_stringBuffer;
|
||||
|
||||
Meter* Meter_new(ProcessList* pl, int param, MeterType* type) {
|
||||
Meter* this = calloc(sizeof(Meter), 1);
|
||||
Object_setClass(this, METER_CLASS);
|
||||
((Object*)this)->delete = Meter_delete;
|
||||
((Object*)this)->display = type->display;
|
||||
this->h = 1;
|
||||
this->type = type;
|
||||
this->param = param;
|
||||
@ -169,9 +176,6 @@ Meter* Meter_new(ProcessList* pl, int param, MeterType* type) {
|
||||
this->values = calloc(sizeof(double), type->items);
|
||||
this->total = type->total;
|
||||
this->caption = strdup(type->caption);
|
||||
((Object*)this)->delete = Meter_delete;
|
||||
((Object*)this)->class = METER_CLASS;
|
||||
((Object*)this)->display = type->display;
|
||||
Meter_setMode(this, type->mode);
|
||||
if (this->type->init)
|
||||
this->type->init(this);
|
||||
|
Reference in New Issue
Block a user