On Wed, 30 Nov 2022 18:17:47 GMT, Sergey Tsypanov <stsypa...@openjdk.org> wrote:
>> `String.offsetByCodePoints()` delegates to `Character.offsetByCodePoints()` >> which in turn specifies the same exception thrown under the same conditions >> and the implementation does exactly the same checks. This means we can >> remove the check from `String.offsetByCodePoints()` and rely on the one of >> `Character.offsetByCodePoints()`. > > Sergey Tsypanov has updated the pull request with a new target base due to a > merge or a rebase. The incremental webrev excludes the unrelated changes > brought in by the merge/rebase. The pull request contains three additional > commits since the last revision: > > - Merge branch 'master' into JDK-8297561 > - 8297561: Add benchmark > - 8297561: Redundant index check in String.offsetByCodePoints() Changes requested by redestad (Reviewer). test/micro/org/openjdk/bench/java/lang/StringOffsetByCodePoints.java line 1: > 1: package org.openjdk.bench.java.lang; Missing copyright header test/micro/org/openjdk/bench/java/lang/StringOffsetByCodePoints.java line 9: > 7: @BenchmarkMode(Mode.AverageTime) > 8: @OutputTimeUnit(TimeUnit.NANOSECONDS) > 9: @Warmup(iterations = 10, time = 1000, timeUnit = TimeUnit.MILLISECONDS) For non-allocating microbenchmarks we usually get by with about 5 iterations of 1 second and same for warmup to produce stable results. Keeping runtime low ensures we can keep adding coverage to more APIs without incurring undue overhead ------------- PR: https://git.openjdk.org/jdk/pull/11350