Memoize should_trace for faster execution #21
Merged
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 PR caches the output of
should_trace
which yields a slight performance increase.Running the julia1_nopil.py benchmark on my laptop:
master: 8.14s
memoize_shouldtrace: 7.98s
Running the benchmark and looking a the cache statistics shows that the cache is hit 530 times for 1 file.
should_trace
can perform two string searches before returning a result.os.path.abspath
isn't exactly the speediest function either. Caching the results ofshould_trace
makes a lot of sense.I used the LRU cache available in the standard library. I feel the default maxsize of 128 is sufficient.