mirror of
https://dev.iopsys.eu/bbf/bbfdm.git
synced 2025-12-10 07:44:39 +01:00
Improve response time performance
- Don't check for duplicate node before adding to list
This commit is contained in:
parent
da28b8474e
commit
05ace8f689
2 changed files with 24 additions and 11 deletions
23
dmentry.c
23
dmentry.c
|
|
@ -255,6 +255,14 @@ int dm_entry_param_method(struct dmctx *ctx, int cmd, char *inparam, char *arg1,
|
|||
{
|
||||
int fault = 0;
|
||||
|
||||
#ifdef DM_DEBUG
|
||||
time_t s; // Seconds
|
||||
long ms; // Milliseconds
|
||||
struct timespec tstart, tend;
|
||||
|
||||
clock_gettime(CLOCK_REALTIME, &tstart); // START TIME
|
||||
#endif //DM_DEBUG
|
||||
|
||||
// Load dynamic objects and parameters
|
||||
load_dynamic_arrays(ctx);
|
||||
|
||||
|
|
@ -326,6 +334,21 @@ int dm_entry_param_method(struct dmctx *ctx, int cmd, char *inparam, char *arg1,
|
|||
}
|
||||
|
||||
dmuci_save();
|
||||
|
||||
#ifdef DM_DEBUG
|
||||
clock_gettime(CLOCK_REALTIME, &tend); // END TIME
|
||||
s = tend.tv_sec - tstart.tv_sec;
|
||||
ms = (tend.tv_nsec - tstart.tv_nsec) / 1.0e6; // Convert nanoseconds to milliseconds
|
||||
if (ms < 0) {
|
||||
ms = 1000 + ms;
|
||||
s--;
|
||||
}
|
||||
|
||||
TRACE("-----------------------------\n");
|
||||
TRACE("CMD: %d : PATH: %s :: End: %ld s : %ld ms\n", cmd, inparam, (long)s, ms);
|
||||
TRACE("-----------------------------\n");
|
||||
#endif //DM_DEBUG
|
||||
|
||||
return usp_fault_map(fault);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1088,19 +1088,9 @@ int get_empty(char *refparam, struct dmctx *ctx, void *data, char *instance, cha
|
|||
void add_list_parameter(struct dmctx *ctx, char *param_name, char *param_data, char *param_type, char *additional_data)
|
||||
{
|
||||
struct dm_parameter *dm_parameter;
|
||||
struct list_head *ilist = NULL;
|
||||
|
||||
list_for_each(ilist, &ctx->list_parameter) {
|
||||
dm_parameter = list_entry(ilist, struct dm_parameter, list);
|
||||
int cmp = DM_STRCMP(dm_parameter->name, param_name);
|
||||
if (cmp == 0) {
|
||||
return;
|
||||
} else if (cmp > 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
dm_parameter = dmcalloc(1, sizeof(struct dm_parameter));
|
||||
_list_add(&dm_parameter->list, ilist->prev, ilist);
|
||||
list_add_tail(&dm_parameter->list, &ctx->list_parameter);
|
||||
dm_parameter->name = param_name;
|
||||
dm_parameter->data = param_data;
|
||||
dm_parameter->type = param_type;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue