Expand description
Boa’s boa_interner is a string interner for compiler performance.
§Crate Overview
The idea behind using a string interner is that in most of the code, strings such as
identifiers and literals are often repeated. This causes extra burden when comparing them and
storing them. A string interner stores a unique usize symbol for each string, making sure
that there are no duplicates. This makes it much easier to compare, since it’s just comparing
to usize, and also it’s easier to store, since instead of a heap-allocated string, you only
need to store a usize. This reduces memory consumption and improves performance in the
compiler.
§About Boa
Boa is an open-source, experimental ECMAScript Engine written in Rust for lexing, parsing and executing ECMAScript/JavaScript. Currently, Boa supports some of the language. More information can be viewed at Boa’s website.
Try out the most recent release with Boa’s live demo playground.
§Boa Crates
boa_cli- Boa’s CLI && REPL implementationboa_ast- Boa’s ECMAScript Abstract Syntax Tree.boa_engine- Boa’s implementation of ECMAScript builtin objects and execution.boa_gc- Boa’s garbage collector.boa_icu_provider- Boa’s ICU4X data provider.boa_interner- Boa’s string interner.boa_macros- Boa’s macros.boa_parser- Boa’s lexer and parser.boa_runtime- Boa’sWebAPIfeatures.boa_string- Boa’s ECMAScript string implementation.tag_ptr- Utility library that enables a pointer to be associated with a tag of typeusize.small_btree- Utility library that adds theSmallBTreeMapdata structure.
Structs§
- Interner
- The string interner for Boa.
- JSInterned
StrRef - A double reference to an interned string inside
Interner. - Sym
- The string symbol type for Boa.
Enums§
Traits§
- ToIndented
String - Implements the display formatting with indentation.
- ToInterned
String - Converts a given element to a string using an interner.