JS Parser Transpiler Resolver ...and more!! Supporting next-generation toolchains like Rolldown Can oxc be the next generation JS toolchain development platform? 2024-07-26 | Vue.js v-tokyo Meetup #21 9 / 23
and deallocation of AST using arena allocator Using bumpalo Marking AST nodes with lifetime annotations to depend on the arena pub enum Statement<'a> { Expression(ExpressionNode<'a>), } 2. Policy to consider all performance issues (runtime and compile speed) as bugs. Many of the Oxc team's decisions are based on this policy. https://oxc.rs/docs/contribute/rules.html#development-policy Can oxc be the next generation JS toolchain development platform? 2024-07-26 | Vue.js v-tokyo Meetup #21 13 / 23
oriented design Memory IO is generally more likely to be a bottleneck than CPU IO. Rust enables robust data-oriented programming in its type system. Oxc forces the test to restrict the size of the enum as follows. #[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))] #[test] fn no_bloat_enum_sizes() { use std::mem::size_of; use crate::ast::*; assert_eq!(size_of::<Statement>(), 16); assert_eq!(size_of::<Expression>(), 16); assert_eq!(size_of::<Declaration>(), 16); } Can oxc be the next generation JS toolchain development platform? 2024-07-26 | Vue.js v-tokyo Meetup #21 14 / 23
of other projects from the beginning. Here are some projects that use Oxc. Rolldown https://github.com/rolldown/rolldown Biome https://github.com/biomejs/biome tauri https://github.com/tauri-apps/tauri kuma-ui https://github.com/kuma-ui/kuma-ui Can oxc be the next generation JS toolchain development platform? 2024-07-26 | Vue.js v-tokyo Meetup #21 16 / 23
ensure correctness and reliability. Test262, Babel, TypeScript test suite pass rate Performance benchmark Package size Can oxc be the next generation JS toolchain development platform? 2024-07-26 | Vue.js v-tokyo Meetup #21 18 / 23
test suite Parser test262 Babel TypeScript oxc_parser 100% 90% 99% swc_ecma_parser 54% No data No data biome 97% 92% 76% Can oxc be the next generation JS toolchain development platform? 2024-07-26 | Vue.js v-tokyo Meetup #21 19 / 23
the best choices Edge bundling Seamless interoperability with JS No waste swc and biome have architectural constraints and do not consider compiler use cases Can oxc be the next generation JS toolchain development platform? 2024-07-26 | Vue.js v-tokyo Meetup #21 20 / 23
performance's sake, but on performance to "buy" the ability to take that JS toolchain to the next level. Can oxc be the next generation JS toolchain development platform? 2024-07-26 | Vue.js v-tokyo Meetup #21 21 / 23
(GitHub) https://github.com/oxc-project/bench-javascript-parser-written-in-rust oxc-project/oxc (GitHub) https://github.com/oxc-project/oxc Introduction to Data Oriented Design https://www.frostbite.com/2010/11/introduction-to-data-oriented-design/ Can oxc be the next generation JS toolchain development platform? 2024-07-26 | Vue.js v-tokyo Meetup #21 23 / 23