Add function complexities and intermediates to cache #442
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.
NB: depends on #440.
Motivation and Context
In order to inline cached functions we must store the native and llvm layer intermediates, along with the complexities. This will reduce cache load time but should increase compiled function speed and predictability.
Approach
The optimal approach would be to regenerate the necessary intermediates from the information given at the native layer, but as it stands i don't think we don't have enough information to do so. So instead we track the necessary intermediates in the BinarySharedObject which gets read/written to disk.
How Has This Been Tested?
full pytest suite, debugging statements (now removed) to ensure the correct codepath is hit.
Types of changes
Checklist: