I made JSON.parse() 2x faster
radex.io
radex.io
You are a productive engineer. You see a fast library that needs a different encoding, so your first thought is to add a transcoding step and make a 2x gain in a short timeframe.
I am a purist. I see a fast library that needs a different encoding, and my first thought is “ok, I’ll fork that library and make it work with UTF-16 natively”. 24 months later I’ll be found, bearded down to my kneecaps, staring at the bottom of a bottle of scotch, mumbling a mixture of curse words and “PowerPC”. But Id get a 2.05x speedup eventually, so…
Maybe next you can make the object spread operator faster ;). I was recently bitten by it in a hot loop, thinking it was generally syntactic sugar. Turns out that if I know all the property names in an object, it’s far far faster to just assign them all manually.
BTW. I recently measured the spread operator in a microbenchmark. Interestingly, while the native spread was faster on Hermes and JSC, it was slower on V8/Chrome, and it's faster there to use `Object.assign()`, i.e.:
['@babel/plugin-proposal-object-rest-spread', { loose: true, useBuiltIns: true }]
Did they merge it?