From 56d5a5935625074632ee1e9c1b9a6f18a4e06294 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 26 Apr 2016 13:56:57 -0400 Subject: [PATCH] dbScan: optimize addToList Insert from back to maintain ~same order. Avoid iterating entire list each time in the common case where all PHAS==0 --- src/ioc/db/dbScan.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ioc/db/dbScan.c b/src/ioc/db/dbScan.c index 0e2d09326..bab430188 100644 --- a/src/ioc/db/dbScan.c +++ b/src/ioc/db/dbScan.c @@ -940,9 +940,9 @@ static void addToList(struct dbCommon *precord, scan_list *psl) pse->precord = precord; } pse->pscan_list = psl; - ptemp = (scan_element *)ellFirst(&psl->list); + ptemp = (scan_element *)ellLast(&psl->list); while (ptemp) { - if (ptemp->precord->phas > precord->phas) { + if (ptemp->precord->phas <= precord->phas) { ellInsert(&psl->list, ellPrevious(&ptemp->node), &pse->node); break; }