An extremely fast streaming SAX parser for Node.js, written in C++
Breaking changes in camaro v6: require Node 12 or newer. Major performance improvement.
camaro is an utility to transform XML to JSON using a template engine powered by XPath syntax which looks like this Here are some benchmarks I ran with the sample data I usually have to deal with (XML data ranges from 1-10MB) camaro x 809 ops/sec ±1.51% (86 runs sampled) rapidx2j x 204 ops/sec ±1.22% (81 runs sampled) xml2json x 53.73 ops/sec ±0.58% (68 runs sampled) xml2js x 40.57 ops/sec ±7.
This chapter describes various performance tricks that allowed the author to write a very high-performing parser in C++: pugixml. While the techniques were used for an XML parser, most of them can be applied to parsers of other formats or even unrelated software (e.g., memory management algorithms are widely applicable beyond parsers). Found out about this gem, recommended by the author of “Writing a Really, Really Fast JSON Parser”.