Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* WIP * WIP * remove warnings, everything builds now, tests are re-enabled * cleanup + use FxHashSet * remove timing related code * sort candidates to guarantee consistent order * update tests to reflect candidate sorting * sort candidates This is useful to do in Rust because we can do it in parallel. In Node we will still sort, but since most things should be sorted already it means that we don't have to spend too much time there. Doing this, resulted in ~4ms -> ~0.9ms for sorting in Node. * use String::from_utf8_unchecked because we already guaranteed valid utf8 when parsing This gave us a ~10% speedup * drop withAlpha on `theme` * only sort for Jest tests * Try to get a consistent criterion benchmark * WIP * WIP * WIP: batching + FxHashSet * WIP * use fastest algorithm so far * update input fixture with new changes from Tailwind UI I'll make sure to get proper fixtures in the benchmark folder soon so that we don't have to deal with this anymore. * add 1000 generated fixture files The idea behind these fixtures files is that they are generated based on the classNames used in our Tailwind UI project without "leaking" Tailwind UI. - The fixtures take random class combinations from Tailwind UI and mix the class attribute before it was generated. - The structure of the HTML is also generated. - For text I've used a UUID. - We can probably find a way to generate something good on the fly without checking these in but it will do for now. - We can also probably improve them by making them even more "real" in the future (by replacing the UUIDs with real data for example) Checking them in so that we all run the same benchmarks against the same code. * use checked in fixtures for benchmarks * use the middle X files to benchmark with * refactor * Pull in tracing * Work on better candidate parser * wip * WIP * cleanup * cargo clippy --fix * cleanup unused dependencies in the CLI * remove "simple" from benchmark What the frick does simple even mean? * Add test case for Ruby arrays `w[foo]` isn’t a valid candidate part anyway (but @[foo] is) so we can pick up the internal bits as a candidate. Not 100% sure if we want to do this but it seems sensible-ish * rename NAPI project * Simplify * bump @napi-rs/cli Co-authored-by: Amos Wenger <[email protected]> Co-authored-by: Jordan Pittman <[email protected]>
- Loading branch information