Skip to content

Improve the construction of "length" built-in strings. #1200

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 14, 2016

Conversation

zherczeg
Copy link
Member

The "length" property name is the most frequently used built-in string and also frequently created by various hot-paths. New functions are added to improve the speed of the "length" string creation.

15% impovement on access-fannkuch.js, but other tests benefit from it.

Benchmark Perf (sec)
3d-cube.js 0.965 -> 0.952 : +1.426%
3d-raytrace.js 1.135 -> 1.131 : +0.305%
access-binary-trees.js 0.593 -> 0.589 : +0.648%
access-fannkuch.js 2.805 -> 2.368 : +15.595%
access-nbody.js 1.124 -> 1.070 : +4.834%
bitops-3bit-bits-in-byte.js 0.584 -> 0.582 : +0.395%
bitops-bits-in-byte.js 0.873 -> 0.869 : +0.435%
bitops-bitwise-and.js 1.175 -> 1.143 : +2.762%
bitops-nsieve-bits.js 1.922 -> 1.813 : +5.657%
controlflow-recursive.js 0.401 -> 0.402 : -0.155%
crypto-aes.js 1.206 -> 1.140 : +5.450%
crypto-md5.js 0.765 -> 0.753 : +1.500%
crypto-sha1.js 0.722 -> 0.714 : +1.095%
date-format-tofte.js 0.883 -> 0.876 : +0.735%
date-format-xparb.js 0.485 -> 0.475 : +2.041%
math-cordic.js 1.365 -> 1.351 : +1.072%
math-partial-sums.js 0.755 -> 0.723 : +4.304%
math-spectral-norm.js 0.604 -> 0.599 : +0.937%
string-base64.js 2.153 -> 2.079 : +3.426%
string-fasta.js 1.868 -> 1.814 : +2.881%
Geometric mean: +2.831%

Binary size unchanged.

@LaszloLango LaszloLango added enhancement An improvement performance Affects performance labels Jul 13, 2016
@dbatyai
Copy link
Member

dbatyai commented Jul 13, 2016

LGTM

1 similar comment
@LaszloLango
Copy link
Contributor

LGTM

The "length" property name is the most frequently used built-in string
and also frequently created by various hot-paths. New functions are
added to improve the speed of the "length" string creation.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
@zherczeg zherczeg force-pushed the optimize_is_length branch from 5329f31 to 6f1ce8d Compare July 14, 2016 06:37
@zherczeg zherczeg merged commit 6f1ce8d into jerryscript-project:master Jul 14, 2016
@zherczeg zherczeg deleted the optimize_is_length branch July 14, 2016 06:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement An improvement performance Affects performance
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants