Commit cda0d81b authored by Yi Kong's avatar Yi Kong
Browse files

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)
parent 5529939e
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment