1. 18 May, 2016 1 commit
    • Nicholas Sauer's avatar
      Make CollectionTest and Collection8Test abstract. · b30ea05f
      Nicholas Sauer authored
      These classes are meant to be extended, but the test runner
      tries to run them anyway which causes a warning message to
      surfaced as a test result. Making them abstract allows
      them to be used by subclasses.
      
      bug: 28503384
      Change-Id: I45c34dde7f045aa6721352508df463c69c2cd8ef
      b30ea05f
  2. 29 Apr, 2016 5 commits
  3. 28 Apr, 2016 6 commits
  4. 27 Apr, 2016 10 commits
  5. 26 Apr, 2016 13 commits
    • Yi Kong's avatar
    • Przemyslaw Szczepaniak's avatar
    • Przemyslaw Szczepaniak's avatar
      Restore fastpath of Pattern#split · 6238c7b3
      Przemyslaw Szczepaniak authored
      Re-added lost fastpath for Pattern#split
      called with single character split regex.
      
      Removed almost identical fastpath from
      String#split and made it use the one in
      the Pattern class.
      
      Before:
        Trial Report (1 of 6):
            Experiment {instrument=runtime, benchmarkMethod=timePatternSplitComma, vm=default, parameters={}}
            Results:
              runtime(ns): min=61332.97, 1st qu.=62783.21, median=63029.70, mean=63793.72, 3rd qu.=64398.73, max=69335.01
          Trial Report (2 of 6):
            Experiment {instrument=runtime, benchmarkMethod=timePatternSplitLiteralDot, vm=default, parameters={}}
            Results:
              runtime(ns): min=62285.54, 1st qu.=62801.82, median=63652.11, mean=64028.37, 3rd qu.=64508.20, max=68743.82
          Trial Report (3 of 6):
            Experiment {instrument=runtime, benchmarkMethod=timeStringSplitComma, vm=default, parameters={}}
            Results:
              runtime(ns): min=3145.06, 1st qu.=3224.04, median=3369.42, mean=3405.25, 3rd qu.=3601.02, max=3714.71
          Trial Report (4 of 6):
            Experiment {instrument=runtime, benchmarkMethod=timeStringSplitHard, vm=default, parameters={}}
            Results:
              runtime(ns): min=96497.74, 1st qu.=102259.06, median=105605.01, mean=105157.62, 3rd qu.=108752.15, max=110870.39
          Trial Report (5 of 6):
            Experiment {instrument=runtime, benchmarkMethod=timeStringSplitLiteralDot, vm=default, parameters={}}
            Results:
              runtime(ns): min=3164.36, 1st qu.=3200.15, median=3261.57, mean=3319.27, 3rd qu.=3402.46, max=3727.68
          Trial Report (6 of 6):
            Experiment {instrument=runtime, benchmarkMethod=timeStringSplitNewline, vm=default, parameters={}}
            Results:
              runtime(ns): min=3129.43, 1st qu.=3138.40, median=3161.53, mean=3197.32, 3rd qu.=3253.53, max=3359.39
      
      After:
          Trial Report (1 of 6):
            Experiment {instrument=runtime, benchmarkMethod=timePatternSplitComma, vm=default, parameters={}}
            Results:
              runtime(ns): min=3225.99, 1st qu.=3253.19, median=3267.54, mean=3320.92, 3rd qu.=3406.82, max=3436.16
          Trial Report (2 of 6):
            Experiment {instrument=runtime, benchmarkMethod=timePatternSplitLiteralDot, vm=default, parameters={}}
            Results:
              runtime(ns): min=3277.96, 1st qu.=3295.68, median=3339.86, mean=3403.39, 3rd qu.=3539.36, max=3677.60
          Trial Report (3 of 6):
            Experiment {instrument=runtime, benchmarkMethod=timeStringSplitComma, vm=default, parameters={}}
            Results:
              runtime(ns): min=3195.46, 1st qu.=3216.71, median=3247.12, mean=3354.20, 3rd qu.=3510.25, max=3686.05
          Trial Report (4 of 6):
            Experiment {instrument=runtime, benchmarkMethod=timeStringSplitHard, vm=default, parameters={}}
            Results:
              runtime(ns): min=99889.34, 1st qu.=100793.37, median=102606.42, mean=103979.16, 3rd qu.=105644.24, max=115821.46
          Trial Report (5 of 6):
            Experiment {instrument=runtime, benchmarkMethod=timeStringSplitLiteralDot, vm=default, parameters={}}
            Results:
              runtime(ns): min=2926.79, 1st qu.=3080.29, median=3156.58, mean=3144.20, 3rd qu.=3228.23, max=3259.98
          Trial Report (6 of 6):
            Experiment {instrument=runtime, benchmarkMethod=timeStringSplitNewline, vm=default, parameters={}}
            Results:
              runtime(ns): min=3134.79, 1st qu.=3174.47, median=3221.38, mean=3250.06, 3rd qu.=3315.56, max=3492.58
      
      Bug: 28330359
      Change-Id: If302b36579cb6b6e9ce6907540e8481057455820
      (cherry picked from commit b14296a6)
      6238c7b3
    • Yi Kong's avatar
      Avoid performing boundary checks in StringBuilder · cda0d81b
      Yi Kong authored
      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)
      cda0d81b
    • Narayan Kamath's avatar
    • Narayan Kamath's avatar
    • Narayan Kamath's avatar
      Revert "ojtests: Split out public/boot tests and add device targets" · c3d87518
      Narayan Kamath authored
      This reverts commit ce0115e0.
      
      This topic has been reverted because it causes build flakiness and
      bogus verification failures on most active changes.
      
      Change-Id: I7dfa25e54c0121b4059f25a8f42f3e0532c1d4c0
      c3d87518
    • Narayan Kamath's avatar
      String: Avoid char-by-char copy during replace. · e868b9aa
      Narayan Kamath authored
      This version is roughly twice as fast after the rewrite in change
      a8d952d4. Note that the M version
      suffered from the same flaw.
      
      BEFORE
      ------
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSequenceNonExistent, vm=default, parameters={s=EMPTY}}
              runtime(ns): min=32.24, 1st qu.=32.36, median=32.65, mean=32.80, 3rd qu.=33.32, max=33.67
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSequenceNonExistent, vm=default, parameters={s=L_16}}
              runtime(ns): min=49.22, 1st qu.=49.54, median=49.99, mean=50.19, 3rd qu.=50.54, max=52.23
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSequenceNonExistent, vm=default, parameters={s=L_64}}
              runtime(ns): min=227.23, 1st qu.=229.91, median=231.68, mean=231.58, 3rd qu.=232.79, max=236.38
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSequenceNonExistent, vm=default, parameters={s=L_256}}
              runtime(ns): min=893.41, 1st qu.=897.96, median=905.14, mean=912.62, 3rd qu.=920.15, max=966.30
      
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSequenceRepeated, vm=default, parameters={s=EMPTY}}
              runtime(ns): min=32.60, 1st qu.=32.69, median=32.98, mean=33.02, 3rd qu.=33.07, max=34.12
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSequenceRepeated, vm=default, parameters={s=L_16}}
              runtime(ns): min=48.43, 1st qu.=48.76, median=49.08, mean=49.31, 3rd qu.=49.87, max=50.72
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSequenceRepeated, vm=default, parameters={s=L_64}}
              runtime(ns): min=2517.18, 1st qu.=2541.84, median=2662.98, mean=2709.11, 3rd qu.=2775.76, max=3226.40
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSequenceRepeated, vm=default, parameters={s=L_256}}
              runtime(ns): min=10265.82, 1st qu.=11161.48, median=12261.24, mean=12058.61, 3rd qu.=12839.44, max=13236.97
      
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSingleSequence, vm=default, parameters={s=EMPTY}}
              runtime(ns): min=31.81, 1st qu.=32.31, median=32.56, mean=32.71, 3rd qu.=33.21, max=33.82
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSingleSequence, vm=default, parameters={s=L_16}}
              runtime(ns): min=894.87, 1st qu.=910.36, median=938.87, mean=981.06, 3rd qu.=1001.98, max=1300.58
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSingleSequence, vm=default, parameters={s=L_64}}
              runtime(ns): min=2670.28, 1st qu.=2680.25, median=2732.86, mean=2806.53, 3rd qu.=2768.80, max=3514.73
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSingleSequence, vm=default, parameters={s=L_256}}
              runtime(ns): min=10099.17, 1st qu.=10323.71, median=10500.71, mean=10950.80, 3rd qu.=10913.56, max=14215.69
      
      AFTER
      -----
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSequenceNonExistent, vm=default, parameters={s=EMPTY}}
              runtime(ns): min=32.16, 1st qu.=32.27, median=32.47, mean=32.46, 3rd qu.=32.65, max=32.80
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSequenceNonExistent, vm=default, parameters={s=L_16}}
              runtime(ns): min=48.74, 1st qu.=49.04, median=49.18, mean=49.37, 3rd qu.=49.56, max=50.81
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSequenceNonExistent, vm=default, parameters={s=L_64}}
              runtime(ns): min=228.67, 1st qu.=229.15, median=230.99, mean=231.22, 3rd qu.=232.97, max=234.63
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSequenceNonExistent, vm=default, parameters={s=L_256}}
              runtime(ns): min=896.83, 1st qu.=898.40, median=904.05, mean=906.79, 3rd qu.=916.44, max=919.98
      
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSequenceRepeated, vm=default, parameters={s=EMPTY}}
              runtime(ns): min=32.07, 1st qu.=32.11, median=32.44, mean=32.64, 3rd qu.=32.66, max=35.07
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSequenceRepeated, vm=default, parameters={s=L_16}}
              runtime(ns): min=48.66, 1st qu.=48.96, median=49.39, mean=49.33, 3rd qu.=49.64, max=50.01
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSequenceRepeated, vm=default, parameters={s=L_64}}
              runtime(ns): min=1638.41, 1st qu.=1666.38, median=1678.58, mean=1725.19, 3rd qu.=1819.44, max=1870.15
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSequenceRepeated, vm=default, parameters={s=L_256}}
              runtime(ns): min=4519.89, 1st qu.=4836.48, median=5659.44, mean=5495.27, 3rd qu.=6065.99, max=6277.55
      
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSingleSequence, vm=default, parameters={s=EMPTY}}
              runtime(ns): min=32.25, 1st qu.=32.33, median=32.49, mean=32.71, 3rd qu.=32.74, max=34.48
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSingleSequence, vm=default, parameters={s=L_16}}
              runtime(ns): min=673.04, 1st qu.=712.29, median=798.60, mean=801.31, 3rd qu.=882.12, max=960.31
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSingleSequence, vm=default, parameters={s=L_64}}
              runtime(ns): min=1113.34, 1st qu.=1426.13, median=1614.06, mean=1633.30, 3rd qu.=1880.92, max=2078.03
            Experiment {instrument=runtime, benchmarkMethod=timeReplaceSingleSequence, vm=default, parameters={s=L_256}}
              runtime(ns): min=3657.71, 1st qu.=4101.37, median=4742.67, mean=4607.25, 3rd qu.=5164.10, max=5259.11
      
      bug: 28060800
      
      (cherry picked from commit f65410c8)
      
      Change-Id: I6d83194cb5597e9161b3aedaada79016411ee015
      e868b9aa
    • Narayan Kamath's avatar
      benchmarks: Add a String benchmark for replace. · 16186025
      Narayan Kamath authored
      Benchmarks have been added for the single char replacements as
      well as Charsequence replacements.
      
      bug: 28060800
      
      (cherry picked from commit 4e7a696c)
      
      Change-Id: Iaf25f1b8a2231ea51ea8dad176d01b34089a0f54
      16186025
    • Kevin Hufnagle's avatar
      docs: Fixed incorrect "format result" for Formatter.java. am: b1613cd4 · c87cbff6
      Kevin Hufnagle authored
      am: dc94f2b6
      
      * commit 'dc94f2b6':
        docs: Fixed incorrect "format result" for Formatter.java.
      
      Change-Id: Ia817f1de6da24c6c407380c81f69ba2f1497aeea
      c87cbff6
    • Kenny Root's avatar
      Update docs to reflect SSLv3 disabled by default · eea899f2
      Kenny Root authored
      am: dea681f0
      
      * commit 'dea681f0':
        Update docs to reflect SSLv3 disabled by default
      
      Change-Id: I7739ad8999b6426532082478332a5af2561bef03
      eea899f2
    • Kenny Root's avatar
      Fix order of PSK cipher suites in docs · d292d421
      Kenny Root authored
      am: be27c52f
      
      * commit 'be27c52f':
        Fix order of PSK cipher suites in docs
      
      Change-Id: Ic9aeafb2ce9cdba8d672d8b9cb138f4a9dcb95e7
      d292d421
    • TreeHugger Robot's avatar
  6. 25 Apr, 2016 5 commits
    • Yi Kong's avatar
      Optimize StringBuilder.append for String with range · 4a225c9f
      Yi Kong authored
      by using String.charsAt to avoid performing 1-by-1 copying.
      
      Also adds a benchmark testing append for substring.
      
      Before:
          Trial Report (1 of 3):
            Experiment {instrument=runtime, benchmarkMethod=timeAppendSubCharSequence, vm=default, parameters={length=1}}
            Results:
              runtime(ns): min=231.16, 1st qu.=233.24, median=244.20, mean=241.41, 3rd qu.=247.49, max=252.71
          Trial Report (2 of 3):
            Experiment {instrument=runtime, benchmarkMethod=timeAppendSubCharSequence, vm=default, parameters={length=10}}
            Results:
              runtime(ns): min=1639.48, 1st qu.=1646.44, median=1658.96, mean=1669.49, 3rd qu.=1694.87, max=1726.36
          Trial Report (3 of 3):
            Experiment {instrument=runtime, benchmarkMethod=timeAppendSubCharSequence, vm=default, parameters={length=100}}
            Results:
              runtime(ns): min=14867.68, 1st qu.=14914.04, median=14965.08, mean=15050.44, 3rd qu.=15189.02, max=15423.22
      
      After:
          Trial Report (1 of 3):
            Experiment {instrument=runtime, benchmarkMethod=timeAppendSubCharSequence, vm=default, parameters={length=1}}
            Results:
              runtime(ns): min=139.58, 1st qu.=141.36, median=143.44, mean=146.17, 3rd qu.=148.57, max=164.15
          Trial Report (2 of 3):
            Experiment {instrument=runtime, benchmarkMethod=timeAppendSubCharSequence, vm=default, parameters={length=10}}
            Results:
              runtime(ns): min=503.95, 1st qu.=507.65, median=520.78, mean=541.48, 3rd qu.=580.13, max=596.60
          Trial Report (3 of 3):
            Experiment {instrument=runtime, benchmarkMethod=timeAppendSubCharSequence, vm=default, parameters={length=100}}
            Results:
              runtime(ns): min=4797.27, 1st qu.=4832.23, median=4861.71, mean=4936.96, 3rd qu.=5049.35, max=5140.17
      
      Bug: 28327317
      Change-Id: I81a4b83cf4b3d854dbb635cd49669ba0bec96009
      (cherry picked from commit a8d952d4)
      4a225c9f
    • Igor Murashkin's avatar
      ojtests: Split out public/boot tests and add device targets · ce0115e0
      Igor Murashkin authored
      * Enable tests to be run from CTS (without changing bootclasspath)
      * Fix host test script to pass higher heap maximum
      * Include test source code as part of the core-ojtests-public.jar
      
      Bug: 27521545
      Bug: 27797922
      Change-Id: Ibd5ac74c939d1252e17dab2dc22d2a00de837bfd
      ce0115e0
    • Kenny Root's avatar
    • Kenny Root's avatar
    • TreeHugger Robot's avatar