Skip to content

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