Avoid performing boundary checks in StringBuilder
We can improve performance by avoid performing boundary checks when the
indices are guaranteed to be within bound.
Before:
Trial Report (1 of 3):
Experiment {instrument=runtime, benchmarkMethod=timeAppendString, vm=default, parameters={length=1}}
Results:
runtime(ns): min=180.52, 1st qu.=182.58, median=184.18, mean=187.62, 3rd qu.=194.04, max=199.31
Trial Report (2 of 3):
Experiment {instrument=runtime, benchmarkMethod=timeAppendString, vm=default, parameters={length=10}}
Results:
runtime(ns): min=1035.10, 1st qu.=1035.82, median=1041.44, mean=1073.24, 3rd qu.=1106.49, max=1200.55
Trial Report (3 of 3):
Experiment {instrument=runtime, benchmarkMethod=timeAppendString, vm=default, parameters={length=100}}
Results:
runtime(ns): min=7020.29, 1st qu.=7053.57, median=7092.80, mean=7193.27, 3rd qu.=7358.86, max=7496.96
After:
Trial Report (1 of 3):
Experiment {instrument=runtime, benchmarkMethod=timeAppendString, vm=default, parameters={length=1}}
Results:
runtime(ns): min=169.88, 1st qu.=171.93, median=173.00, mean=177.27, 3rd qu.=185.40, max=191.09
Trial Report (2 of 3):
Experiment {instrument=runtime, benchmarkMethod=timeAppendString, vm=default, parameters={length=10}}
Results:
runtime(ns): min=954.54, 1st qu.=964.95, median=975.47, mean=974.05, 3rd qu.=977.26, max=1001.69
Trial Report (3 of 3):
Experiment {instrument=runtime, benchmarkMethod=timeAppendString, vm=default, parameters={length=100}}
Results:
runtime(ns): min=5419.06, 1st qu.=5494.05, median=5563.10, mean=5672.46, 3rd qu.=5746.85, max=6347.50
Bug: 28327317
Change-Id: Ibba98a10932f07144dcd8778594eb1bc3bae2373
(cherry picked from commit 308a03fd)
Loading
Please sign in to comment