Crate boa_interner
source ·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_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_interner
- Boa’s string interner.boa_parser
- Boa’s lexer and parser.boa_profiler
- Boa’s code profiler.boa_icu_provider
- Boa’s ICU4X data provider.boa_runtime
- Boa’s WebAPI features.
Modules
Structs
- The string interner for Boa.
- A double reference to an interned string inside
Interner
. - The string symbol type for Boa.
Enums
- An enumeration of all slice types
Interner
can internally store.
Traits
- Implements the display formatting with indentation.
- Converts a given element to a string using an interner.