WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
52222
Microoptimization in ~JSString
https://bugs.webkit.org/show_bug.cgi?id=52222
Summary
Microoptimization in ~JSString
Xan Lopez
Reported
2011-01-11 09:45:53 PST
ssia.
Attachments
jsstringdtor.diff
(2.94 KB, patch)
2011-01-11 09:49 PST
,
Xan Lopez
darin
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Xan Lopez
Comment 1
2011-01-11 09:49:41 PST
Created
attachment 78544
[details]
jsstringdtor.diff Small optimization in the JSString dtor. SunSpider results: TEST COMPARISON FROM TO DETAILS ============================================================================= ** TOTAL **: 1.003x as fast 275.4ms +/- 0.1% 274.7ms +/- 0.1% significant ============================================================================= 3d: - 36.4ms +/- 0.5% 36.2ms +/- 0.5% cube: - 11.9ms +/- 1.0% 11.8ms +/- 1.0% morph: - 11.2ms +/- 0.6% 11.2ms +/- 0.6% raytrace: - 13.2ms +/- 0.5% 13.2ms +/- 0.5% access: - 38.7ms +/- 0.2% 38.7ms +/- 0.2% binary-trees: ?? 3.7ms +/- 2.0% 3.7ms +/- 2.0% not conclusive: might be *1.002x as slow* fannkuch: - 19.0ms +/- 0.1% 19.0ms +/- 0.0% nbody: - 11.0ms +/- 0.0% 11.0ms +/- 0.0% nsieve: - 5.0ms +/- 0.0% 5.0ms +/- 0.0% bitops: ?? 23.6ms +/- 0.3% 23.7ms +/- 0.3% not conclusive: might be *1.002x as slow* 3bit-bits-in-byte: - 3.0ms +/- 0.0% 3.0ms +/- 0.0% bits-in-byte: - 6.0ms +/- 0.0% 6.0ms +/- 0.0% bitwise-and: ?? 5.6ms +/- 1.4% 5.7ms +/- 1.4% not conclusive: might be *1.008x as slow* nsieve-bits: - 9.0ms +/- 0.1% 9.0ms +/- 0.0% controlflow: - 2.0ms +/- 0.0% 2.0ms +/- 0.0% recursive: - 2.0ms +/- 0.0% 2.0ms +/- 0.0% crypto: - 16.0ms +/- 0.1% 16.0ms +/- 0.1% aes: - 10.0ms +/- 0.0% 10.0ms +/- 0.0% md5: - 3.0ms +/- 0.6% 3.0ms +/- 0.6% sha1: - 3.0ms +/- 0.0% 3.0ms +/- 0.0% date: ?? 31.4ms +/- 0.3% 31.4ms +/- 0.3% not conclusive: might be *1.001x as slow* format-tofte: - 16.0ms +/- 0.2% 16.0ms +/- 0.2% format-xparb: ?? 15.3ms +/- 0.5% 15.4ms +/- 0.6% not conclusive: might be *1.003x as slow* math: - 29.0ms +/- 0.1% 29.0ms +/- 0.1% cordic: ?? 9.0ms +/- 0.3% 9.0ms +/- 0.4% not conclusive: might be *1.001x as slow* partial-sums: - 15.0ms +/- 0.0% 15.0ms +/- 0.1% spectral-norm: - 5.0ms +/- 0.0% 5.0ms +/- 0.0% regexp: ?? 12.5ms +/- 0.6% 12.6ms +/- 0.6% not conclusive: might be *1.005x as slow* dna: ?? 12.5ms +/- 0.6% 12.6ms +/- 0.6% not conclusive: might be *1.005x as slow* string: 1.008x as fast 85.8ms +/- 0.1% 85.1ms +/- 0.1% significant base64: - 9.0ms +/- 0.1% 9.0ms +/- 0.0% fasta: 1.052x as fast 12.0ms +/- 0.2% 11.4ms +/- 0.7% significant tagcloud: - 21.8ms +/- 0.3% 21.7ms +/- 0.3% unpack-code: - 32.0ms +/- 0.1% 32.0ms +/- 0.1% validate-input: - 11.0ms +/- 0.2% 11.0ms +/- 0.2%
Darin Adler
Comment 2
2011-01-11 10:16:27 PST
Comment on
attachment 78544
[details]
jsstringdtor.diff View in context:
https://bugs.webkit.org/attachment.cgi?id=78544&action=review
> Source/JavaScriptCore/runtime/JSString.h:324 > + do { > + RopeImpl::deref(m_other.m_fibers[i]); > + } while (++i < m_fiberCount);
One line body, usually no braces in WebKit coding style.
Xan Lopez
Comment 3
2011-01-11 10:52:19 PST
(In reply to
comment #2
)
> (From update of
attachment 78544
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=78544&action=review
> > > Source/JavaScriptCore/runtime/JSString.h:324 > > + do { > > + RopeImpl::deref(m_other.m_fibers[i]); > > + } while (++i < m_fiberCount); > > One line body, usually no braces in WebKit coding style.
You are right; for some reason the do without the braces seemed weird, but it goes against the style guidelines. Committed with that fix as
http://trac.webkit.org/changeset/75517
Xan Lopez
Comment 4
2011-01-11 10:52:33 PST
Closing.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug