diff options
author | Narayan Kamath <narayan@google.com> | 2016-07-28 14:47:11 +0100 |
---|---|---|
committer | Narayan Kamath <narayan@google.com> | 2016-07-29 15:14:58 +0000 |
commit | dfb36ac5c1f20a0cfa02e37119187b1b13ccd533 (patch) | |
tree | a9395bec440997eef40d86a63ca675d245637c9a /annotations/generate_annotated_java_files.py | |
parent | 39d0eeed71fecba0a424b63bd5a7168556531378 (diff) |
Character: Add special case for case folding ASCII codepoints.
Makes things between 5x faster (String.length() == 2) and 2.5x faster
(String.length() = 512k).
Results from the relevant benchmarks in CaseMappingBenchmark, measured
on an aosp_angler-userdebug device.
BEFORE:
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=EMPTY}}
runtime(ns): min=29.33, 1st qu.=29.69, median=30.31, mean=30.13, 3rd qu.=30.43, max=30.85
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=LOWER2}}
runtime(ns): min=167.03, 1st qu.=167.52, median=167.98, mean=168.83, 3rd qu.=169.97, max=173.85
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=UPPER2}}
runtime(ns): min=405.06, 1st qu.=411.69, median=435.16, mean=445.40, 3rd qu.=478.26, max=488.99
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=MIXED2}}
runtime(ns): min=366.95, 1st qu.=370.45, median=373.08, mean=380.19, 3rd qu.=378.89, max=436.75
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=LOWER32}}
runtime(ns): min=2268.15, 1st qu.=2270.07, median=2290.65, mean=2292.02, 3rd qu.=2315.40, max=2327.49
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=UPPER32}}
runtime(ns): min=4428.02, 1st qu.=4472.99, median=4519.30, mean=4519.92, 3rd qu.=4570.19, max=4607.35
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=MIXED32}}
runtime(ns): min=3890.73, 1st qu.=3951.55, median=4014.90, mean=4096.84, 3rd qu.=4218.43, max=4567.76
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=LOWER512}}
runtime(ns): min=35690.86, 1st qu.=35824.60, median=35900.18, mean=35981.11, 3rd qu.=36147.33, max=36455.45
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=UPPER512}}
runtime(ns): min=70513.94, 1st qu.=71086.43, median=72158.54, mean=72223.58, 3rd qu.=73076.69, max=74707.14
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=MIXED512}}
runtime(ns): min=57307.61, 1st qu.=58459.23, median=59048.19, mean=59167.31, 3rd qu.=60155.00, max=60359.01
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=LOWER_512_K}}
runtime(ns): min=36841180.78, 1st qu.=37000630.38, median=37142450.15, mean=37691891.48, 3rd qu.=38551476.34, max=39473916.14
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=UPPER_512_K}}
runtime(ns): min=74462017.10, 1st qu.=75833598.15, median=76662149.75, mean=76405214.68, 3rd qu.=76823769.02, max=78451533.67
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=MIXED_512_K}}
runtime(ns): min=60461248.56, 1st qu.=60817389.36, median=61201595.22, mean=61526397.40, 3rd qu.=61940429.61, max=63920845.00
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=EMPTY}}
runtime(ns): min=41.46, 1st qu.=41.55, median=41.76, mean=41.94, 3rd qu.=42.32, max=42.97
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=LOWER2}}
runtime(ns): min=404.06, 1st qu.=413.38, median=435.10, mean=443.76, 3rd qu.=480.60, max=487.89
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=UPPER2}}
runtime(ns): min=195.31, 1st qu.=199.50, median=202.54, mean=202.51, 3rd qu.=206.54, max=208.45
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=MIXED2}}
runtime(ns): min=486.76, 1st qu.=514.60, median=533.90, mean=532.89, 3rd qu.=548.47, max=584.56
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=LOWER32}}
runtime(ns): min=5172.51, 1st qu.=5223.29, median=5286.72, mean=5314.42, 3rd qu.=5411.71, max=5526.16
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=UPPER32}}
runtime(ns): min=2480.97, 1st qu.=2492.86, median=2516.02, mean=2526.47, 3rd qu.=2565.40, max=2585.49
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=MIXED32}}
runtime(ns): min=3931.96, 1st qu.=3980.45, median=4063.81, mean=4107.68, 3rd qu.=4085.00, max=4743.90
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=LOWER512}}
runtime(ns): min=74818.73, 1st qu.=75630.06, median=76430.63, mean=76364.52, 3rd qu.=76938.18, max=77972.01
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=UPPER512}}
runtime(ns): min=39525.59, 1st qu.=39674.51, median=39736.68, mean=39905.31, 3rd qu.=40165.96, max=40706.11
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=MIXED512}}
runtime(ns): min=71553.80, 1st qu.=71903.59, median=72500.07, mean=73109.80, 3rd qu.=74679.62, max=74806.78
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=LOWER_512_K}}
runtime(ns): min=74578900.63, 1st qu.=74946573.83, median=76355137.33, mean=76343448.14, 3rd qu.=77729727.63, max=78529524.29
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=UPPER_512_K}}
runtime(ns): min=53752902.31, 1st qu.=54508879.46, median=54837568.30, mean=55070280.74, 3rd qu.=55629185.94, max=56985816.50
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=MIXED_512_K}}
runtime(ns): min=64566357.67, 1st qu.=64789150.65, median=65193903.78, mean=65287320.85, 3rd qu.=65439559.50, max=66975228.29
AFTER:
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=EMPTY}}
runtime(ns): min=29.50, 1st qu.=29.64, median=29.83, mean=29.87, 3rd qu.=30.15, max=30.30
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=LOWER2}}
runtime(ns): min=52.73, 1st qu.=53.21, median=53.91, mean=53.79, 3rd qu.=54.36, max=54.45
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=UPPER2}}
runtime(ns): min=228.74, 1st qu.=230.99, median=233.61, mean=244.29, 3rd qu.=248.56, max=307.34
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=MIXED2}}
runtime(ns): min=246.12, 1st qu.=248.73, median=253.27, mean=268.97, 3rd qu.=294.01, max=300.26
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=LOWER32}}
runtime(ns): min=462.39, 1st qu.=467.24, median=473.52, mean=471.96, 3rd qu.=475.60, max=481.23
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=UPPER32}}
runtime(ns): min=2523.50, 1st qu.=2548.12, median=2562.96, mean=2574.52, 3rd qu.=2596.62, max=2653.68
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=MIXED32}}
runtime(ns): min=1620.11, 1st qu.=1659.76, median=1693.29, mean=1689.57, 3rd qu.=1725.38, max=1744.43
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=LOWER512}}
runtime(ns): min=6829.39, 1st qu.=6837.58, median=6958.84, mean=6931.43, 3rd qu.=7006.52, max=7058.49
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=UPPER512}}
runtime(ns): min=37175.86, 1st qu.=38590.32, median=39973.00, mean=39766.09, 3rd qu.=40767.48, max=41835.71
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=MIXED512}}
runtime(ns): min=25269.69, 1st qu.=25640.28, median=25860.75, mean=26025.64, 3rd qu.=26554.05, max=26729.05
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=LOWER_512_K}}
runtime(ns): min=7173773.72, 1st qu.=7243974.33, median=7279164.88, mean=7308423.63, 3rd qu.=7367634.38, max=7555233.88
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=UPPER_512_K}}
runtime(ns): min=39979613.64, 1st qu.=40416298.99, median=41803666.55, mean=41670501.80, 3rd qu.=42319604.58, max=44349411.78
Experiment {instrument=runtime, benchmarkMethod=timeToLowerCase_US, vm=default, parameters={s=MIXED_512_K}}
runtime(ns): min=25571413.96, 1st qu.=26046572.32, median=26167446.79, mean=26249992.58, 3rd qu.=26349891.47, max=27474270.67
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=EMPTY}}
runtime(ns): min=41.10, 1st qu.=41.21, median=41.37, mean=41.36, 3rd qu.=41.52, max=41.60
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=LOWER2}}
runtime(ns): min=287.67, 1st qu.=289.43, median=293.33, mean=305.43, 3rd qu.=326.01, max=349.69
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=UPPER2}}
runtime(ns): min=76.77, 1st qu.=77.08, median=78.36, mean=78.31, 3rd qu.=79.60, max=80.06
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=MIXED2}}
runtime(ns): min=290.54, 1st qu.=292.96, median=297.54, mean=303.62, 3rd qu.=309.00, max=349.45
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=LOWER32}}
runtime(ns): min=2707.35, 1st qu.=2737.79, median=2770.07, mean=2778.04, 3rd qu.=2829.40, max=2846.53
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=UPPER32}}
runtime(ns): min=647.52, 1st qu.=652.92, median=665.31, mean=664.16, 3rd qu.=671.39, max=688.44
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=MIXED32}}
runtime(ns): min=2021.43, 1st qu.=2033.67, median=2048.96, mean=2061.61, 3rd qu.=2081.64, max=2155.44
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=LOWER512}}
runtime(ns): min=41283.61, 1st qu.=41952.42, median=42908.06, mean=42727.25, 3rd qu.=43374.28, max=43670.23
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=UPPER512}}
runtime(ns): min=9655.72, 1st qu.=9746.66, median=9880.92, mean=9870.98, 3rd qu.=9987.42, max=10031.96
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=MIXED512}}
runtime(ns): min=29421.76, 1st qu.=29604.36, median=30114.47, mean=30175.07, 3rd qu.=30432.06, max=31606.85
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=LOWER_512_K}}
runtime(ns): min=43452037.44, 1st qu.=44075696.74, median=44410247.09, mean=44611581.35, 3rd qu.=45077490.18, max=46559968.00
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=UPPER_512_K}}
runtime(ns): min=10173340.94, 1st qu.=10281587.15, median=10416552.27, mean=10475390.19, 3rd qu.=10665954.83, max=10922523.97
Experiment {instrument=runtime, benchmarkMethod=timeToUpperCase_US, vm=default, parameters={s=MIXED_512_K}}
runtime(ns): min=30191040.48, 1st qu.=30827827.89, median=31024588.42, mean=31420622.90, 3rd qu.=32222205.19, max=33431317.29
bug: 30455775
Test: StringCaseMapperBenchmark, CharacterTest, StringTest
Change-Id: I960fd7bd97c2a4e16598cea51ca0683b6e5856ef
Diffstat (limited to 'annotations/generate_annotated_java_files.py')
0 files changed, 0 insertions, 0 deletions