Update caching and add tokenizer to create_states_mapping
#911
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 removes the use of hash values as the keys to the underlying function call cache. It also adds the tokenizer to the arguments of
create_states_mapping
.The main change here is that
hash_arguments
has been removed and replaced with aDisk
subclass,CloudpickleDisk
, that usescloudpickle
. This allows all the same objects to be cacheable as before, while also removing the use of hash values as keys. The latter is especially important, since hash collisions at the key level can return the wrong results from the cache.Likewise, the
key_function
argument tocache
has been removed. If one needs this sort of functionality, they can wrap the corresponding arguments with objects that properly implement serialization.Closes #872