Minor removal of evaluating + on strings in logging functions.#1115
Minor removal of evaluating + on strings in logging functions.#1115LADSoft merged 1 commit intoLADSoft:masterfrom
Conversation
|
If that already brings in that performance - why not changing the logging to use macros;
|
|
so thank you for looking at this so quickly! yeah ill tell you i wasn't very precise on the timing so this will probably take care of most of the issue :). |
I would do this, but at this time I'm not quite sure if it would actually be a speedup to hoist the conditional out of the call whatsoever. |
|
We can have the disabling part as something commonly not done in our release builds while still providing that option (which we may use for CI environments if not needed temporarily).
|
|
are you ready for me to merge this? |
|
In terms of the basics, this PR is "done". I agree on the point that I need to go out and check the difference in speed between a decent logging loop where we hoist the check out of the hot path, but I'm not sure on how that will affect performance at this time. |
This is to partially address #1114
upstream/master: 20:7.09This patch applied: 0:18:41.26
Patch + my work in #1112 after a 2nd build: 0:17:49.36
~1.2 minutes shaved
Turns out doing a bunch of logic that doesn't get used is wasteful.
I also ran multiple compile sets before this, so if there were any files in the disk-cache it would affect both.
This may be within variance(?) but at the minimum this does clear out a ton of cases where my logging adds unnecessary time.
In theory, if I switch to a set of macro calls that do an inline check before the call I may save some time with all of those logging calls by just not doing a
callinstruction callout whatsoever, but that's an additional effort thing there.It does appear that my attempt to keep the number of
occparses under control is still failing(? this may be because of task manager not clearing them out as they come up, I'd need a better way to verify this.... a global semaphore acting as a counter?)I did cherry-pick this from my
masterbranch in #1112 , so I can drop this and just treat my main branch as the main "run through all the optimizations" branch.