oxc/tasks/benchmark
overlookmotel aef593fb50
parser(refactor): promise only one Source on a thread at a time (#2340)
Introduce invariant that only a single `lexer::Source` can exist on a thread at one time.

This is a preparatory step for #2341.

2 notes:

Restriction is only 1 x `ParserImpl` / `Lexer` / `Source` on 1 *thread* at a time, not globally. So this does not prevent parsing multiple files simultaneously on different threads.

Restriction does not apply to public type `Parser`, only `ParserImpl`. `ParserImpl`s are not created in created in `Parser::new`, but instead in `Parser::parse`, where they're created and then immediately consumed. So the end user is also free to create multiple `Parser` instances (if they want to for some reason) on the same thread.
2024-02-08 14:51:17 +08:00
..
benches parser(refactor): promise only one Source on a thread at a time (#2340) 2024-02-08 14:51:17 +08:00
src refactor(benchmark): use codspeed for all benchmarks (#839) 2023-09-02 20:35:48 +08:00
Cargo.toml parser(refactor): promise only one Source on a thread at a time (#2340) 2024-02-08 14:51:17 +08:00
README.md s/web-infra-dev/oxc-project 2023-11-10 14:30:18 +08:00