-
But, I wish devs would atleast archive the repo and put a "NOT-MAINTAINED" notice in the readme. one of my surprises was stdweb crate with 150k+ downloads per month being dead for three years eg: https://github.com/koute/stdweb/issues/403
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
In regards to the benchmarks, It makes sense to measure serializing/deserializing for parser crates. but since we are talking about dom implementations, metrics like traversal/iteration speed or insert/modification performance would be useful. a good example is roxmltree crate (readonly xml dom) which benches traversal/iteration performance and shows that by only focusing on readonly usecases, it gains substantial performance gains.
-
I have recently encountered similar problems as you and also created a JSON crate, hifijson. Its unique idea is that JSON parsing itself is not so hard, but JSON lexing is! Therefore, my crate provides a JSON lexer that you can use to create your custom JSON parser with any functionality you need. For example, this allows you to ignore escape sequences, giving you a &str for strings. Or, if you care about escape sequences, hifijson gives you a Cow similarly to serde_json, allocating new memory only if necessary.
-
Just yesterday, I started work on replacing serde_json in my project jaq by hifijson, which cut JSON loading time in half! The downside of hifijson is that documentation is still TODO. But I intend to work on this as soon as I have a prototype of jaq with hifijson working.
Related posts
-
Ask HN: Why are we not building web browsers?
-
Setting up the Environment and Hello world in WASM with Rust 🦀
-
Surprisingly Powerful – Serverless WASM with Rust Article 1
-
Show HN: Game of Life with grid editor in browser with Rust and WASM
-
Recreating the Apple Calculator in Rust using Tauri, Yew and Tailwind