linguist icon indicating copy to clipboard operation
linguist copied to clipboard

Add :persistent_term support

Open dolfinus opened this issue 4 years ago • 0 comments

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.

dolfinus avatar Mar 20 '21 23:03 dolfinus