chakra-core / ChakraCore

ChakraCore is an open source Javascript engine with a C API.
MIT License
9.13k stars 1.2k forks source link

perf: JSON.stringify Array performance #3895

Open obastemur opened 7 years ago

obastemur commented 7 years ago

fast-json-stringify benchmark results as of #3894

Chakra: JSON.stringify array x 1,685 ops/sec ±4.13% (77 runs sampled)
v8:     JSON.stringify array x 3,421 ops/sec ±0.64% (92 runs sampled)

Chakra: JSON.stringify long string x 30,920 ops/sec ±0.46% (92 runs sampled)
v8:     JSON.stringify long string x 14,839 ops/sec ±0.20% (94 runs sampled)

Chakra: JSON.stringify short string x 5,585,836 ops/sec ±3.49% (77 runs sampled)
v8 :    JSON.stringify short string x 4,586,806 ops/sec ±0.36% (90 runs sampled)

Chakra: JSON.stringify obj x 1,518,252 ops/sec ±3.22% (81 runs sampled)
v8:     JSON.stringify obj x 1,604,359 ops/sec ±0.75% (94 runs sampled)

JSON.stringify of Array needs some attention.

P.S. when I run the benchmarks under v8 powered node.js, fast-json-stringify was outperforming v8 significantly. However, when I run the benchmarks under chakracore powered node.js, fast-json-stringify wasn't performing good. This is possibly due to engine specific optimizations made there. In order not to compare apples to oranges, I kept the numbers for fast-jason-stringify aside.

obastemur commented 7 years ago
obastemur commented 7 years ago

Tag #3923

obastemur commented 6 years ago

@MikeHolman do you know if your changes to JSON.stringify improves stringifying arrays too?