Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 73a97d320d4b5c30e9926e9a521eb0a9caf0baca
      
https://github.com/WebKit/WebKit/commit/73a97d320d4b5c30e9926e9a521eb0a9caf0baca
  Author: Sosuke Suzuki <[email protected]>
  Date:   2026-02-01 (Sun, 01 Feb 2026)

  Changed paths:
    A JSTests/microbenchmarks/string-trim-end.js
    A JSTests/microbenchmarks/string-trim-start.js
    A JSTests/microbenchmarks/string-trim.js
    M Source/JavaScriptCore/runtime/StringPrototype.cpp

  Log Message:
  -----------
  [JSC] Optimize `String#trim` with direct span access
https://bugs.webkit.org/show_bug.cgi?id=306722

Reviewed by Yusuke Suzuki.

This patch changes to optimize trimString() by replacing indirect str[i] 
character access
with direct pointer access via span8()/span16().

This pattern follows existing optimizations in 
WTF::StringImpl::trimMatchedCharacters
and JSC::JSONObject parsing.

                           TipOfTree                  Patched

string-trim             84.5490+-0.7410     ^     72.4870+-0.6489        ^ 
definitely 1.1664x faster
string-trim-end         94.2033+-25.1497    ^     66.1489+-1.4101        ^ 
definitely 1.4241x faster
string-trim-start       71.9005+-1.1854     ^     65.5192+-1.5173        ^ 
definitely 1.0974x faster

Tests: JSTests/microbenchmarks/string-trim-end.js
       JSTests/microbenchmarks/string-trim-start.js
       JSTests/microbenchmarks/string-trim.js

* JSTests/microbenchmarks/string-trim-end.js: Added.
* JSTests/microbenchmarks/string-trim-start.js: Added.
* JSTests/microbenchmarks/string-trim.js: Added.
* Source/JavaScriptCore/runtime/StringPrototype.cpp:
(JSC::trimString):

Canonical link: https://commits.webkit.org/306611@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to