oxc/crates
overlookmotel 48e20880d4
perf(ast): box enum variants (#3058)
Box all enum variants for JSX types (`JSXAttributeName`,
`JSXAttributeValue`, `JSXChild`, `JSXElementName`,
`JSXMemberExpressionObject`). Part of #3047.

I'm not sure how to interpret the benchmark results. As I said on #3047:

> I imagine it may cost a little in performance in the parser due to
extra calls to `alloc`, but in return traversing the AST should be
cheaper, as the data is more compact, so less cache misses.

Sure enough, there is a small impact (1%) on the 2 parser benchmarks for
JSX files. However, the other benchmarks have too much noise in them to
see whether this is repaid in a speed up on transformer etc, especially
as the transformer benchmarks also include parsing.

What do you think @Boshen?
2024-04-22 09:09:30 +08:00
..
oxc Release crates v0.12.4 2024-04-19 16:40:05 +08:00
oxc_allocator refactor(bench): reuse allocator in parser + lexer benchmarks (#3053) 2024-04-22 09:03:26 +08:00
oxc_ast perf(ast): box enum variants (#3058) 2024-04-22 09:09:30 +08:00
oxc_cli feat(cli): implement --format checkstyle (#3044) 2024-04-21 16:30:28 +08:00
oxc_codegen feat(ast): add CatchParameter node (#3049) 2024-04-21 23:43:39 +08:00
oxc_diagnostics feat(cli): implement --format checkstyle (#3044) 2024-04-21 16:30:28 +08:00
oxc_index Release crates v0.12.4 2024-04-19 16:40:05 +08:00
oxc_js_regex
oxc_language_server chore: apply cargo autoinherit (#2826) 2024-03-26 23:57:50 +08:00
oxc_linter perf(ast): box enum variants (#3058) 2024-04-22 09:09:30 +08:00
oxc_macros feat(napi/parser): remove experimental flexbuffer api (#2957) 2024-04-13 14:59:31 +08:00
oxc_minifier Release crates v0.12.4 2024-04-19 16:40:05 +08:00
oxc_module_lexer refactor(ast): add walk_mut functions (#2776) 2024-03-25 20:40:13 +03:30
oxc_parser perf(ast): box enum variants (#3058) 2024-04-22 09:09:30 +08:00
oxc_prettier feat(ast): add CatchParameter node (#3049) 2024-04-21 23:43:39 +08:00
oxc_semantic fix(semantic): correctly resolve identifiers inside catch parameter initializers (#3050) 2024-04-21 23:53:38 +08:00
oxc_sourcemap Release crates v0.12.4 2024-04-19 16:40:05 +08:00
oxc_span refactor(napi): remove unnecessary custom Serialize impl for Atom (#3041) 2024-04-21 13:04:51 +08:00
oxc_syntax fix(semantic): correctly resolve identifiers inside parameter initializers (#3046) 2024-04-21 23:38:31 +08:00
oxc_transformer perf(ast): box enum variants (#3058) 2024-04-22 09:09:30 +08:00
oxc_wasm feat(transformer): add filename (#2941) 2024-04-11 18:43:51 +08:00