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.
Currently
MemoizedVocabulary
uses:ets
for storing the translations.But OTP 21.2 provides a new
:persistent_term
module. It has the same get/put methods like :ets, but significantly improved performance for storing mostly read-only data:https://erlang.org/doc/man/persistent_term.html
It looks like translations are never changed since booting the application, so this module just perfectly suits for storing them.
Here I've added new config key
vocabulary_backend
with 2 possible options::ets
(default) and:persistent_term
.If someone will try to use :persitent_term on too old OTP version, an exception will be raised during compilation step.