This repository has been archived by the owner on Feb 4, 2020. It is now read-only.
Use CLCACHE_SINGLEFILE to display actual function calls in cProfile #367
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is one possible way to fix #364 .
If you are certain that your build system won't call
clcache.exe
with multiple source files to compile (AFAIK it is only used by MSBuild to compile sources in parallel with/MP
), you can setCLCACHE_SINGLEFILE
environment variable to avoid usingconcurrent.futures.ThreadPoolExecutor
and simply callprocessSingleSource
once, avoiding additional process creation. This might increase performance tiny bit, but mostly this is about seing in cProfile results which function calls actually happened and how did they affect the performance.Another option might be introducing
CLCACHE_SINGLETHREAD
to simply iterate over file list in afor
loop without concurrency. Or maybe even make this decision based onCLCACHE_PROFILE
presence.