Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3fa658700239c8e7cbe8fa20793a6314274560cd
https://github.com/WebKit/WebKit/commit/3fa658700239c8e7cbe8fa20793a6314274560cd
Author: Yusuke Suzuki <[email protected]>
Date: 2023-05-06 (Sat, 06 May 2023)
Changed paths:
A JSTests/stress/json-stringify-integer.js
M Source/JavaScriptCore/runtime/JSONObject.cpp
Log Message:
-----------
[JSC] Optimize JSON.stringify integer serialization
https://bugs.webkit.org/show_bug.cgi?id=256409
rdar://108978640
Reviewed by Darin Adler.
Let's use std::to_chars. The current implementation is extremely optimized, and
faster than our custom implementation.
Right now, we are not switching to std::to_chars for everything since there is
an impedance mismatch in our API and this function,
but we can just use it for FastStringifier. We also optimized forEachProperty
code to just use `auto` of parameter, which
continues using CompactPropertyTableEntry for CompactPRopertyTable (majority of
objects).
ToT Patched
vanilla-todomvc-json-stringify 52.0172+-0.3011 ^
46.4912+-0.2382 ^ definitely 1.1189x faster
* JSTests/stress/json-stringify-integer.js: Added.
(shouldBe):
* Source/JavaScriptCore/runtime/JSONObject.cpp:
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::FastStringifier::append):
Canonical link: https://commits.webkit.org/263765@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes