I got excited about this and decided to run some tests. I ran the hold targeter 4 times in a row (with a 1-second recheck interval to force updates) both pre and post patch. Much to my surprise, the delayed logging mechanism actually made things very slightly slower :\
-- pre-patch timing at WARN loglevel
real 0m23.509s
user 0m0.309s
sys 0m0.028s
real 0m23.737s
user 0m0.304s
sys 0m0.041s
real 0m23.825s
user 0m0.313s
sys 0m0.020s
real 0m22.847s
user 0m0.310s
sys 0m0.032s
avg: 23.4795
-- post-patch timing at WARN loglevel
real 0m25.774s
user 0m0.304s
sys 0m0.037s
real 0m24.530s
user 0m0.332s
sys 0m0.020s
real 0m22.944s
user 0m0.322s
sys 0m0.053s
real 0m24.090s
user 0m0.309s
sys 0m0.033s
avg: 24.3345
I also tested at INFO level with similar results.
Crazy! Additional sub tracking, more runtime call stacks, gremlins, etc. In any event, I posted a rebased branch for my testing. It includes a signoff, but I can't at this point see that the code changes are worth it or even a good idea. Other types of testing might show otherwise, though.
I got excited about this and decided to run some tests. I ran the hold targeter 4 times in a row (with a 1-second recheck interval to force updates) both pre and post patch. Much to my surprise, the delayed logging mechanism actually made things very slightly slower :\
-- pre-patch timing at WARN loglevel
real 0m23.509s
user 0m0.309s
sys 0m0.028s
real 0m23.737s
user 0m0.304s
sys 0m0.041s
real 0m23.825s
user 0m0.313s
sys 0m0.020s
real 0m22.847s
user 0m0.310s
sys 0m0.032s
avg: 23.4795
-- post-patch timing at WARN loglevel
real 0m25.774s
user 0m0.304s
sys 0m0.037s
real 0m24.530s
user 0m0.332s
sys 0m0.020s
real 0m22.944s
user 0m0.322s
sys 0m0.053s
real 0m24.090s
user 0m0.309s
sys 0m0.033s
avg: 24.3345
I also tested at INFO level with similar results.
Crazy! Additional sub tracking, more runtime call stacks, gremlins, etc. In any event, I posted a rebased branch for my testing. It includes a signoff, but I can't at this point see that the code changes are worth it or even a good idea. Other types of testing might show otherwise, though.
https:/ /git.evergreen- ils.org/ ?p=working/ Evergreen. git;a=shortlog; h=refs/ heads/user/ berick/ lp1840053- log-subs