Strings Interner
Because strings are immutable (i.e. the use the type ImmutableString
instead of normal Rust String
),
each operation on a string actually creates a new ImmutableString
instance.
A strings interner can substantially reduce memory usage by reusing the same ImmutableString
instance for the same string content.
An Engine
contains a strings interner which is enabled by default
(disabled when using a raw Engine
).
The maximum number of strings to be interned can be set via
Engine::set_max_strings_interned
(set to zero to disable the strings interner).