Caching.jl aims to provide a simple non-intrusive memoization mechanism with disk, compression, record and size limits support. While it’s not the fastest, it should pretty easy to use, understand and extend. It is still lacking in the documentation area however the examples provided in the package page cover most of the functionality.
Just for the record, a list of memoization packages I encountered so far in the Julia ecosystem (lots of good ideas in all for whomever is interested):
- Caching.jl (1) - the package in question
- Caching.jl (2) - funny enough, there was another that covers similar functionalities with the same name
- LRUCache.jl
- Memoize.jl (1)
- Memoize.jl (2)
- LocalMemoize.jl
- Anamnesis.jl