Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MATH-1538] refine some codes dealing with filling an array with its first and second elements. #144

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

XenoAmess
Copy link
Contributor

benchmark code:

package com.xenoamess.performance;

import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
import org.openjdk.jmh.annotations.Mode;
import org.openjdk.jmh.annotations.OutputTimeUnit;
import org.openjdk.jmh.annotations.Scope;
import org.openjdk.jmh.annotations.State;

import java.util.Arrays;
import java.util.concurrent.TimeUnit;

/**
 * Test to show witch way to fill array with its first two elements is faster.
 * the array to be used named {@code a} have at least {@code length >= 2}, and {@code a[0] == A0, a[1] == A1} before
 * it enters these functions.
 * Conclusion: please always use fill01_7.
 * it is amazingly faster than all others at least 10%.
 */
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@State(Scope.Thread)
public class ArrayFill01PerformanceTest {
    public static double A0 = 1.23456789101112131415;
    public static double A1 = 15.1413121110987654321;

    public static void fill01_0(double[] a) {
        final int len = a.length;
        for (int i = 2; i < len; ++i) {
            a[i] = a[i - 2];
        }
    }

    public static void fill01_1(double[] a) {
        final int len = a.length;
        final double a0 = a[0];
        final double a1 = a[1];
        for (int i = 2; i < len; i += 2) {
            a[i] = a0;
        }
        for (int i = 3; i < len; i += 2) {
            a[i] = a1;
        }
    }

    public static void fill01_2(double[] a) {
        final int len = a.length;
        if (len > 2) {
            int nowLen = 2;
            while (true) {
                int nextLen = nowLen << 1;
                if (nextLen <= len) {
                    System.arraycopy(a, 0, a, nowLen, nowLen);
                } else {
                    System.arraycopy(a, 0, a, nowLen, len - nowLen);
                    break;
                }
                nowLen = nextLen;
            }
        }
    }

    public static void fill01_3(double[] a) {
        final int len = a.length;
        if (len > 16) {
            int len_4 = (len >> 2);
            if ((len_4 & 1) != 0) {
                len_4++;
            }
            for (int i = 2; i < len_4; ++i) {
                a[i] = a[i - 2];
            }
            System.arraycopy(a, 0, a, len_4, len_4);
            final int len_2 = len_4 << 1;
            System.arraycopy(a, 0, a, len_2, len - len_2);
        } else {
            for (int i = 2; i < len; ++i) {
                a[i] = a[i - 2];
            }
        }
    }

    public static void fill01_4(double[] a) {
        final int len = a.length;
        if (len > 16) {
            int len_2 = (len >> 1);
            if ((len_2 & 1) != 0) {
                len_2++;
            }
            for (int i = 2; i < len_2; ++i) {
                a[i] = a[i - 2];
            }
            System.arraycopy(a, 0, a, len_2, len - len_2);
        } else {
            for (int i = 2; i < len; ++i) {
                a[i] = a[i - 2];
            }
        }
    }

    public static void fill01_5(final double[] a) {
        Arrays.setAll(a, value -> a[value & 1]);
    }

    public static void fill01_6(double[] a) {
        final int len = a.length;
        for (int i = 2; i < len; ++i) {
            a[i] = a[i & 1];
        }
    }

    public static void fill01_7(double[] a) {
        final int len = a.length;
        final double a0 = a[0];
        final double a1 = a[1];
        for (int i = 2; i < len; ++i) {
            a[i] = (i & 1) == 0 ? a0 : a1;
        }
    }

    private double[] a = new double[10000000];

    {
        a[0] = A0;
        a[1] = A1;
    }

    @Benchmark
    public void testUsingFill01_0() {
        fill01_0(a);
    }

    @Benchmark
    public void testUsingFill01_1() {
        fill01_1(a);
    }

    @Benchmark
    public void testUsingFill01_2() {
        fill01_2(a);
    }

    @Benchmark
    public void testUsingFill01_3() {
        fill01_3(a);
    }

    @Benchmark
    public void testUsingFill01_4() {
        fill01_4(a);
    }

    @Benchmark
    public void testUsingFill01_5() {
        fill01_5(a);
    }

    @Benchmark
    public void testUsingFill01_6() {
        fill01_6(a);
    }

    @Benchmark
    public void testUsingFill01_7() {
        fill01_7(a);
    }
}

@XenoAmess
Copy link
Contributor Author

benchmark result:

[INFO] --- exec-maven-plugin:1.6.0:exec (benchmark) @ performance_test ---
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.openjdk.jmh.util.Utils (file:/C:/Users/xenoa/.m2/repository/org/openjdk/jmh/jmh-core/1.21/jmh-core-1.21.jar) to field java.io.PrintStream.charOut
WARNING: Please consider reporting this to the maintainers of org.openjdk.jmh.util.Utils
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
# JMH version: 1.21
# VM version: JDK 13.0.2, OpenJDK 64-Bit Server VM, 13.0.2+8
# VM invoker: C:\jdk-13.0.2+8\bin\java.exe
# VM options: <none>
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_0

# Run progress: 0.00% complete, ETA 01:56:40
# Fork: 1 of 5
# Warmup Iteration   1: 8249055.272 ns/op
# Warmup Iteration   2: 8512109.864 ns/op
# Warmup Iteration   3: 8460021.133 ns/op
# Warmup Iteration   4: 8317032.003 ns/op
# Warmup Iteration   5: 8359073.539 ns/op
Iteration   1: 8372389.381 ns/op
Iteration   2: 8441160.759 ns/op
Iteration   3: 8590144.082 ns/op
Iteration   4: 8605164.488 ns/op
Iteration   5: 8633303.796 ns/op

# Run progress: 1.43% complete, ETA 01:55:38
# Fork: 2 of 5
# Warmup Iteration   1: 8292475.808 ns/op
# Warmup Iteration   2: 8200912.213 ns/op
# Warmup Iteration   3: 8224653.410 ns/op
# Warmup Iteration   4: 8235289.556 ns/op
# Warmup Iteration   5: 8216257.014 ns/op
Iteration   1: 8195500.328 ns/op
Iteration   2: 8163144.698 ns/op
Iteration   3: 8188478.969 ns/op
Iteration   4: 8182008.913 ns/op
Iteration   5: 8449028.354 ns/op

# Run progress: 2.86% complete, ETA 01:54:05
# Fork: 3 of 5
# Warmup Iteration   1: 8177134.069 ns/op
# Warmup Iteration   2: 8268037.438 ns/op
# Warmup Iteration   3: 8236772.615 ns/op
# Warmup Iteration   4: 8645487.133 ns/op
# Warmup Iteration   5: 8228544.371 ns/op
Iteration   1: 8255931.739 ns/op
Iteration   2: 8273245.207 ns/op
Iteration   3: 8601485.997 ns/op
Iteration   4: 8288561.806 ns/op
Iteration   5: 8154787.866 ns/op

# Run progress: 4.29% complete, ETA 01:52:23
# Fork: 4 of 5
# Warmup Iteration   1: 8134385.703 ns/op
# Warmup Iteration   2: 8174159.804 ns/op
# Warmup Iteration   3: 8261665.566 ns/op
# Warmup Iteration   4: 8185774.162 ns/op
# Warmup Iteration   5: 8216492.529 ns/op
Iteration   1: 8184281.603 ns/op
Iteration   2: 8150340.717 ns/op
Iteration   3: 8159347.351 ns/op
Iteration   4: 8139490.317 ns/op
Iteration   5: 8249754.448 ns/op

# Run progress: 5.71% complete, ETA 01:50:40
# Fork: 5 of 5
# Warmup Iteration   1: 8772843.383 ns/op
# Warmup Iteration   2: 8901326.957 ns/op
# Warmup Iteration   3: 8900807.918 ns/op
# Warmup Iteration   4: 8696852.951 ns/op
# Warmup Iteration   5: 8231901.891 ns/op
Iteration   1: 8211558.409 ns/op
Iteration   2: 8193085.586 ns/op
Iteration   3: 8277648.760 ns/op
Iteration   4: 8130644.923 ns/op
Iteration   5: 8121834.631 ns/op


Result "com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_0":
  8288492.925 ?99.9%) 124903.993 ns/op [Average]

  (min, avg, max) = (8121834.631, 8288492.925, 8633303.796), stdev = 166743.257
  CI (99.9%): [8163588.932, 8413396.918] (assumes normal distribution)


# JMH version: 1.21
# VM version: JDK 13.0.2, OpenJDK 64-Bit Server VM, 13.0.2+8
# VM invoker: C:\jdk-13.0.2+8\bin\java.exe
# VM options: <none>
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_1

# Run progress: 7.14% complete, ETA 01:49:00
# Fork: 1 of 5
# Warmup Iteration   1: 15160515.000 ns/op
# Warmup Iteration   2: 15327423.430 ns/op
# Warmup Iteration   3: 15256485.061 ns/op
# Warmup Iteration   4: 15161569.697 ns/op
# Warmup Iteration   5: 15077351.205 ns/op
Iteration   1: 15261644.817 ns/op
Iteration   2: 15291169.771 ns/op
Iteration   3: 15561179.005 ns/op
Iteration   4: 15759320.787 ns/op
Iteration   5: 15383860.829 ns/op

# Run progress: 8.57% complete, ETA 01:47:19
# Fork: 2 of 5
# Warmup Iteration   1: 15523445.271 ns/op
# Warmup Iteration   2: 16224301.783 ns/op
# Warmup Iteration   3: 15583633.956 ns/op
# Warmup Iteration   4: 15617734.009 ns/op
# Warmup Iteration   5: 15475297.685 ns/op
Iteration   1: 15526721.085 ns/op
Iteration   2: 15446016.512 ns/op
Iteration   3: 15571219.285 ns/op
Iteration   4: 15480547.604 ns/op
Iteration   5: 15525285.891 ns/op

# Run progress: 10.00% complete, ETA 01:45:38
# Fork: 3 of 5
# Warmup Iteration   1: 15500545.975 ns/op
# Warmup Iteration   2: 15406490.308 ns/op
# Warmup Iteration   3: 15365221.472 ns/op
# Warmup Iteration   4: 15508550.155 ns/op
# Warmup Iteration   5: 16019187.840 ns/op
Iteration   1: 16040160.577 ns/op
Iteration   2: 16059354.414 ns/op
Iteration   3: 16088607.717 ns/op
Iteration   4: 16048811.538 ns/op
Iteration   5: 15581073.717 ns/op

# Run progress: 11.43% complete, ETA 01:43:59
# Fork: 4 of 5
# Warmup Iteration   1: 15563025.000 ns/op
# Warmup Iteration   2: 15519159.225 ns/op
# Warmup Iteration   3: 15974389.155 ns/op
# Warmup Iteration   4: 16501674.300 ns/op
# Warmup Iteration   5: 15252966.514 ns/op
Iteration   1: 15191720.030 ns/op
Iteration   2: 15293462.232 ns/op
Iteration   3: 15374374.808 ns/op
Iteration   4: 15279860.153 ns/op
Iteration   5: 15250030.898 ns/op

# Run progress: 12.86% complete, ETA 01:42:19
# Fork: 5 of 5
# Warmup Iteration   1: 15427323.421 ns/op
# Warmup Iteration   2: 15531242.636 ns/op
# Warmup Iteration   3: 15398621.231 ns/op
# Warmup Iteration   4: 15343714.417 ns/op
# Warmup Iteration   5: 15268683.232 ns/op
Iteration   1: 15332933.997 ns/op
Iteration   2: 15311638.379 ns/op
Iteration   3: 15241510.350 ns/op
Iteration   4: 15224737.139 ns/op
Iteration   5: 15384058.218 ns/op


Result "com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_1":
  15500371.990 ?99.9%) 212826.089 ns/op [Average]

  (min, avg, max) = (15191720.030, 15500371.990, 16088607.717), stdev = 284116.739
  CI (99.9%): [15287545.902, 15713198.079] (assumes normal distribution)


# JMH version: 1.21
# VM version: JDK 13.0.2, OpenJDK 64-Bit Server VM, 13.0.2+8
# VM invoker: C:\jdk-13.0.2+8\bin\java.exe
# VM options: <none>
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_2

# Run progress: 14.29% complete, ETA 01:40:37
# Fork: 1 of 5
# Warmup Iteration   1: 10842286.566 ns/op
# Warmup Iteration   2: 10495600.000 ns/op
# Warmup Iteration   3: 10550700.211 ns/op
# Warmup Iteration   4: 11169682.924 ns/op
# Warmup Iteration   5: 10788618.770 ns/op
Iteration   1: 10604499.153 ns/op
Iteration   2: 10662026.731 ns/op
Iteration   3: 10724352.034 ns/op
Iteration   4: 10880932.935 ns/op
Iteration   5: 11381390.227 ns/op

# Run progress: 15.71% complete, ETA 01:38:57
# Fork: 2 of 5
# Warmup Iteration   1: 11634354.123 ns/op
# Warmup Iteration   2: 11375859.545 ns/op
# Warmup Iteration   3: 11771798.118 ns/op
# Warmup Iteration   4: 11516850.978 ns/op
# Warmup Iteration   5: 10807266.523 ns/op
Iteration   1: 10690470.331 ns/op
Iteration   2: 10600801.907 ns/op
Iteration   3: 10830365.909 ns/op
Iteration   4: 10704224.064 ns/op
Iteration   5: 10526178.444 ns/op

# Run progress: 17.14% complete, ETA 01:37:16
# Fork: 3 of 5
# Warmup Iteration   1: 10760235.231 ns/op
# Warmup Iteration   2: 10756447.634 ns/op
# Warmup Iteration   3: 10787457.481 ns/op
# Warmup Iteration   4: 10582716.385 ns/op
# Warmup Iteration   5: 11269334.459 ns/op
Iteration   1: 10572318.499 ns/op
Iteration   2: 10832170.022 ns/op
Iteration   3: 10598606.878 ns/op
Iteration   4: 10733685.730 ns/op
Iteration   5: 10695549.466 ns/op

# Run progress: 18.57% complete, ETA 01:35:35
# Fork: 4 of 5
# Warmup Iteration   1: 10938378.361 ns/op
# Warmup Iteration   2: 10563465.998 ns/op
# Warmup Iteration   3: 10657537.700 ns/op
# Warmup Iteration   4: 10878662.065 ns/op
# Warmup Iteration   5: 10717939.615 ns/op
Iteration   1: 10754250.054 ns/op
Iteration   2: 10558563.502 ns/op
Iteration   3: 10671763.859 ns/op
Iteration   4: 10793272.737 ns/op
Iteration   5: 10616668.293 ns/op

# Run progress: 20.00% complete, ETA 01:33:55
# Fork: 5 of 5
# Warmup Iteration   1: 10783045.582 ns/op
# Warmup Iteration   2: 10645356.961 ns/op
# Warmup Iteration   3: 11013101.760 ns/op
# Warmup Iteration   4: 11368128.182 ns/op
# Warmup Iteration   5: 11407934.282 ns/op
Iteration   1: 11834210.165 ns/op
Iteration   2: 11103757.095 ns/op
Iteration   3: 10666797.335 ns/op
Iteration   4: 10746334.871 ns/op
Iteration   5: 10559369.304 ns/op


Result "com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_2":
  10773702.382 ?99.9%) 215515.928 ns/op [Average]

  (min, avg, max) = (10526178.444, 10773702.382, 11834210.165), stdev = 287707.597
  CI (99.9%): [10558186.454, 10989218.309] (assumes normal distribution)


# JMH version: 1.21
# VM version: JDK 13.0.2, OpenJDK 64-Bit Server VM, 13.0.2+8
# VM invoker: C:\jdk-13.0.2+8\bin\java.exe
# VM options: <none>
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_3

# Run progress: 21.43% complete, ETA 01:32:14
# Fork: 1 of 5
# Warmup Iteration   1: 10548019.389 ns/op
# Warmup Iteration   2: 10712480.642 ns/op
# Warmup Iteration   3: 10594745.869 ns/op
# Warmup Iteration   4: 10476510.262 ns/op
# Warmup Iteration   5: 10600766.667 ns/op
Iteration   1: 10531877.813 ns/op
Iteration   2: 10529814.421 ns/op
Iteration   3: 10535509.684 ns/op
Iteration   4: 10654969.755 ns/op
Iteration   5: 10575592.397 ns/op

# Run progress: 22.86% complete, ETA 01:30:33
# Fork: 2 of 5
# Warmup Iteration   1: 10578996.829 ns/op
# Warmup Iteration   2: 10564485.759 ns/op
# Warmup Iteration   3: 10591374.921 ns/op
# Warmup Iteration   4: 10584110.465 ns/op
# Warmup Iteration   5: 10574611.827 ns/op
Iteration   1: 10565046.885 ns/op
Iteration   2: 10888406.746 ns/op
Iteration   3: 10572421.564 ns/op
Iteration   4: 10715831.263 ns/op
Iteration   5: 10581252.326 ns/op

# Run progress: 24.29% complete, ETA 01:28:52
# Fork: 3 of 5
# Warmup Iteration   1: 10625605.202 ns/op
# Warmup Iteration   2: 10592905.397 ns/op
# Warmup Iteration   3: 10581791.121 ns/op
# Warmup Iteration   4: 10474239.854 ns/op
# Warmup Iteration   5: 10503191.081 ns/op
Iteration   1: 10654674.043 ns/op
Iteration   2: 10865166.703 ns/op
Iteration   3: 11111801.887 ns/op
Iteration   4: 11075560.619 ns/op
Iteration   5: 11070761.547 ns/op

# Run progress: 25.71% complete, ETA 01:27:11
# Fork: 4 of 5
# Warmup Iteration   1: 10814956.541 ns/op
# Warmup Iteration   2: 10696553.526 ns/op
# Warmup Iteration   3: 10574414.588 ns/op
# Warmup Iteration   4: 10501356.873 ns/op
# Warmup Iteration   5: 10574527.033 ns/op
Iteration   1: 10537023.158 ns/op
Iteration   2: 10799226.969 ns/op
Iteration   3: 10592874.286 ns/op
Iteration   4: 10584815.222 ns/op
Iteration   5: 10511561.870 ns/op

# Run progress: 27.14% complete, ETA 01:25:31
# Fork: 5 of 5
# Warmup Iteration   1: 10585136.402 ns/op
# Warmup Iteration   2: 10530415.053 ns/op
# Warmup Iteration   3: 10643905.207 ns/op
# Warmup Iteration   4: 10546973.446 ns/op
# Warmup Iteration   5: 10539435.474 ns/op
Iteration   1: 10529463.933 ns/op
Iteration   2: 10537099.789 ns/op
Iteration   3: 10479680.230 ns/op
Iteration   4: 10567554.488 ns/op
Iteration   5: 10590187.407 ns/op


Result "com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_3":
  10666327.000 ?99.9%) 142261.582 ns/op [Average]

  (min, avg, max) = (10479680.230, 10666327.000, 11111801.887), stdev = 189915.141
  CI (99.9%): [10524065.419, 10808588.582] (assumes normal distribution)


# JMH version: 1.21
# VM version: JDK 13.0.2, OpenJDK 64-Bit Server VM, 13.0.2+8
# VM invoker: C:\jdk-13.0.2+8\bin\java.exe
# VM options: <none>
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_4

# Run progress: 28.57% complete, ETA 01:23:50
# Fork: 1 of 5
# Warmup Iteration   1: 9852877.559 ns/op
# Warmup Iteration   2: 9754465.010 ns/op
# Warmup Iteration   3: 10408972.869 ns/op
# Warmup Iteration   4: 10043987.249 ns/op
# Warmup Iteration   5: 9924872.222 ns/op
Iteration   1: 9905647.525 ns/op
Iteration   2: 9845718.406 ns/op
Iteration   3: 10091017.238 ns/op
Iteration   4: 9856813.793 ns/op
Iteration   5: 9836951.670 ns/op

# Run progress: 30.00% complete, ETA 01:22:09
# Fork: 2 of 5
# Warmup Iteration   1: 10175133.537 ns/op
# Warmup Iteration   2: 10457129.363 ns/op
# Warmup Iteration   3: 10360849.896 ns/op
# Warmup Iteration   4: 10363020.807 ns/op
# Warmup Iteration   5: 9983440.419 ns/op
Iteration   1: 9786377.224 ns/op
Iteration   2: 9814062.647 ns/op
Iteration   3: 9861395.961 ns/op
Iteration   4: 9847169.223 ns/op
Iteration   5: 9841603.736 ns/op

# Run progress: 31.43% complete, ETA 01:20:29
# Fork: 3 of 5
# Warmup Iteration   1: 9744950.389 ns/op
# Warmup Iteration   2: 9748214.508 ns/op
# Warmup Iteration   3: 9889030.138 ns/op
# Warmup Iteration   4: 9814635.784 ns/op
# Warmup Iteration   5: 9817213.935 ns/op
Iteration   1: 10137187.437 ns/op
Iteration   2: 9992579.741 ns/op
Iteration   3: 9876920.928 ns/op
Iteration   4: 10362753.934 ns/op
Iteration   5: 9883820.731 ns/op

# Run progress: 32.86% complete, ETA 01:18:48
# Fork: 4 of 5
# Warmup Iteration   1: 9855438.424 ns/op
# Warmup Iteration   2: 9791069.863 ns/op
# Warmup Iteration   3: 9880951.037 ns/op
# Warmup Iteration   4: 10089126.411 ns/op
# Warmup Iteration   5: 9846511.614 ns/op
Iteration   1: 9881004.339 ns/op
Iteration   2: 9941753.029 ns/op
Iteration   3: 9856089.469 ns/op
Iteration   4: 9954518.408 ns/op
Iteration   5: 9844867.650 ns/op

# Run progress: 34.29% complete, ETA 01:17:07
# Fork: 5 of 5
# Warmup Iteration   1: 9916938.057 ns/op
# Warmup Iteration   2: 9921815.164 ns/op
# Warmup Iteration   3: 9901498.121 ns/op
# Warmup Iteration   4: 9728696.987 ns/op
# Warmup Iteration   5: 10213696.429 ns/op
Iteration   1: 10297778.601 ns/op
Iteration   2: 10427887.500 ns/op
Iteration   3: 10328668.937 ns/op
Iteration   4: 9905590.495 ns/op
Iteration   5: 10076901.108 ns/op


Result "com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_4":
  9978203.189 ?99.9%) 141978.395 ns/op [Average]

  (min, avg, max) = (9786377.224, 9978203.189, 10427887.500), stdev = 189537.096
  CI (99.9%): [9836224.794, 10120181.584] (assumes normal distribution)


# JMH version: 1.21
# VM version: JDK 13.0.2, OpenJDK 64-Bit Server VM, 13.0.2+8
# VM invoker: C:\jdk-13.0.2+8\bin\java.exe
# VM options: <none>
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_5

# Run progress: 35.71% complete, ETA 01:15:26
# Fork: 1 of 5
# Warmup Iteration   1: 7748601.006 ns/op
# Warmup Iteration   2: 7778287.956 ns/op
# Warmup Iteration   3: 7713124.268 ns/op
# Warmup Iteration   4: 7734250.541 ns/op
# Warmup Iteration   5: 7716699.537 ns/op
Iteration   1: 7812349.922 ns/op
Iteration   2: 7764371.218 ns/op
Iteration   3: 7741274.845 ns/op
Iteration   4: 7722208.712 ns/op
Iteration   5: 7747369.505 ns/op

# Run progress: 37.14% complete, ETA 01:13:46
# Fork: 2 of 5
# Warmup Iteration   1: 7762790.846 ns/op
# Warmup Iteration   2: 7667372.414 ns/op
# Warmup Iteration   3: 7715456.052 ns/op
# Warmup Iteration   4: 7768158.185 ns/op
# Warmup Iteration   5: 7697371.000 ns/op
Iteration   1: 7690446.503 ns/op
Iteration   2: 7737829.366 ns/op
Iteration   3: 7741707.115 ns/op
Iteration   4: 7694723.231 ns/op
Iteration   5: 7683630.184 ns/op

# Run progress: 38.57% complete, ETA 01:12:05
# Fork: 3 of 5
# Warmup Iteration   1: 7998219.649 ns/op
# Warmup Iteration   2: 7786474.864 ns/op
# Warmup Iteration   3: 7813366.823 ns/op
# Warmup Iteration   4: 7766497.283 ns/op
# Warmup Iteration   5: 7733388.253 ns/op
Iteration   1: 7763132.661 ns/op
Iteration   2: 7774204.425 ns/op
Iteration   3: 7770356.988 ns/op
Iteration   4: 8158034.311 ns/op
Iteration   5: 8083289.185 ns/op

# Run progress: 40.00% complete, ETA 01:10:24
# Fork: 4 of 5
# Warmup Iteration   1: 8093477.203 ns/op
# Warmup Iteration   2: 8092519.968 ns/op
# Warmup Iteration   3: 7709631.741 ns/op
# Warmup Iteration   4: 7723941.236 ns/op
# Warmup Iteration   5: 7766374.321 ns/op
Iteration   1: 7655830.604 ns/op
Iteration   2: 7667822.129 ns/op
Iteration   3: 7729055.830 ns/op
Iteration   4: 7720177.392 ns/op
Iteration   5: 7720653.627 ns/op

# Run progress: 41.43% complete, ETA 01:08:44
# Fork: 5 of 5
# Warmup Iteration   1: 7744532.198 ns/op
# Warmup Iteration   2: 8249914.097 ns/op
# Warmup Iteration   3: 8118910.624 ns/op
# Warmup Iteration   4: 7859017.818 ns/op
# Warmup Iteration   5: 7756676.375 ns/op
Iteration   1: 7731487.635 ns/op
Iteration   2: 7731461.592 ns/op
Iteration   3: 7726367.284 ns/op
Iteration   4: 7732772.334 ns/op
Iteration   5: 7815385.558 ns/op


Result "com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_5":
  7764637.686 ?99.9%) 85571.032 ns/op [Average]

  (min, avg, max) = (7655830.604, 7764637.686, 8158034.311), stdev = 114234.879
  CI (99.9%): [7679066.655, 7850208.718] (assumes normal distribution)


# JMH version: 1.21
# VM version: JDK 13.0.2, OpenJDK 64-Bit Server VM, 13.0.2+8
# VM invoker: C:\jdk-13.0.2+8\bin\java.exe
# VM options: <none>
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_6

# Run progress: 42.86% complete, ETA 01:07:03
# Fork: 1 of 5
# Warmup Iteration   1: 7795446.381 ns/op
# Warmup Iteration   2: 7716217.039 ns/op
# Warmup Iteration   3: 7771150.582 ns/op
# Warmup Iteration   4: 7676819.325 ns/op
# Warmup Iteration   5: 7659082.555 ns/op
Iteration   1: 7760971.783 ns/op
Iteration   2: 7728586.564 ns/op
Iteration   3: 7711172.419 ns/op
Iteration   4: 7701394.534 ns/op
Iteration   5: 7695170.715 ns/op

# Run progress: 44.29% complete, ETA 01:05:23
# Fork: 2 of 5
# Warmup Iteration   1: 7745401.548 ns/op
# Warmup Iteration   2: 7882356.501 ns/op
# Warmup Iteration   3: 8408081.513 ns/op
# Warmup Iteration   4: 8078928.433 ns/op
# Warmup Iteration   5: 8150417.182 ns/op
Iteration   1: 8020741.139 ns/op
Iteration   2: 7712301.156 ns/op
Iteration   3: 7747559.211 ns/op
Iteration   4: 7805542.278 ns/op
Iteration   5: 7717420.817 ns/op

# Run progress: 45.71% complete, ETA 01:03:42
# Fork: 3 of 5
# Warmup Iteration   1: 7771908.463 ns/op
# Warmup Iteration   2: 7689831.975 ns/op
# Warmup Iteration   3: 7685713.738 ns/op
# Warmup Iteration   4: 7755351.008 ns/op
# Warmup Iteration   5: 7751863.362 ns/op
Iteration   1: 7722074.691 ns/op
Iteration   2: 7681146.124 ns/op
Iteration   3: 7651215.596 ns/op
Iteration   4: 7698518.601 ns/op
Iteration   5: 7692346.580 ns/op

# Run progress: 47.14% complete, ETA 01:02:01
# Fork: 4 of 5
# Warmup Iteration   1: 7774235.354 ns/op
# Warmup Iteration   2: 7639645.080 ns/op
# Warmup Iteration   3: 7733400.386 ns/op
# Warmup Iteration   4: 7941887.143 ns/op
# Warmup Iteration   5: 7669946.130 ns/op
Iteration   1: 7723230.864 ns/op
Iteration   2: 7725648.380 ns/op
Iteration   3: 7697840.923 ns/op
Iteration   4: 7675209.808 ns/op
Iteration   5: 7639785.344 ns/op

# Run progress: 48.57% complete, ETA 01:00:21
# Fork: 5 of 5
# Warmup Iteration   1: 7732047.027 ns/op
# Warmup Iteration   2: 7760270.078 ns/op
# Warmup Iteration   3: 7645366.005 ns/op
# Warmup Iteration   4: 7683945.894 ns/op
# Warmup Iteration   5: 7729137.731 ns/op
Iteration   1: 7900382.952 ns/op
Iteration   2: 8050009.171 ns/op
Iteration   3: 8145394.223 ns/op
Iteration   4: 8083830.856 ns/op
Iteration   5: 7957299.045 ns/op


Result "com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_6":
  7785791.751 ?99.9%) 110335.806 ns/op [Average]

  (min, avg, max) = (7639785.344, 7785791.751, 8145394.223), stdev = 147295.144
  CI (99.9%): [7675455.945, 7896127.557] (assumes normal distribution)


# JMH version: 1.21
# VM version: JDK 13.0.2, OpenJDK 64-Bit Server VM, 13.0.2+8
# VM invoker: C:\jdk-13.0.2+8\bin\java.exe
# VM options: <none>
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_7

# Run progress: 50.00% complete, ETA 00:58:40
# Fork: 1 of 5
# Warmup Iteration   1: 7774916.770 ns/op
# Warmup Iteration   2: 7720262.731 ns/op
# Warmup Iteration   3: 7664480.092 ns/op
# Warmup Iteration   4: 7695291.391 ns/op
# Warmup Iteration   5: 7942425.079 ns/op
Iteration   1: 7671978.391 ns/op
Iteration   2: 7764420.093 ns/op
Iteration   3: 7731981.931 ns/op
Iteration   4: 7647496.944 ns/op
Iteration   5: 7778968.298 ns/op

# Run progress: 51.43% complete, ETA 00:57:00
# Fork: 2 of 5
# Warmup Iteration   1: 7802654.326 ns/op
# Warmup Iteration   2: 7732972.896 ns/op
# Warmup Iteration   3: 7665422.511 ns/op
# Warmup Iteration   4: 7681559.785 ns/op
# Warmup Iteration   5: 7695307.456 ns/op
Iteration   1: 7735573.648 ns/op
Iteration   2: 7683502.226 ns/op
Iteration   3: 7689908.148 ns/op
Iteration   4: 7649444.495 ns/op
Iteration   5: 7704484.834 ns/op

# Run progress: 52.86% complete, ETA 00:55:19
# Fork: 3 of 5
# Warmup Iteration   1: 7704865.204 ns/op
# Warmup Iteration   2: 7717344.025 ns/op
# Warmup Iteration   3: 7844813.804 ns/op
# Warmup Iteration   4: 7860068.735 ns/op
# Warmup Iteration   5: 7674945.706 ns/op
Iteration   1: 7897770.718 ns/op
Iteration   2: 7704136.259 ns/op
Iteration   3: 7831853.720 ns/op
Iteration   4: 7729190.116 ns/op
Iteration   5: 7845421.255 ns/op

# Run progress: 54.29% complete, ETA 00:53:38
# Fork: 4 of 5
# Warmup Iteration   1: 8211827.235 ns/op
# Warmup Iteration   2: 8702717.043 ns/op
# Warmup Iteration   3: 8445919.072 ns/op
# Warmup Iteration   4: 8250963.644 ns/op
# Warmup Iteration   5: 7857252.904 ns/op
Iteration   1: 7750621.611 ns/op
Iteration   2: 7689683.717 ns/op
Iteration   3: 7692234.512 ns/op
Iteration   4: 7728118.687 ns/op
Iteration   5: 7734218.470 ns/op

# Run progress: 55.71% complete, ETA 00:51:58
# Fork: 5 of 5
# Warmup Iteration   1: 7757672.713 ns/op
# Warmup Iteration   2: 7694152.114 ns/op
# Warmup Iteration   3: 7747703.873 ns/op
# Warmup Iteration   4: 7650872.324 ns/op
# Warmup Iteration   5: 7649693.125 ns/op
Iteration   1: 7698181.015 ns/op
Iteration   2: 7967621.815 ns/op
Iteration   3: 7726390.502 ns/op
Iteration   4: 7640983.193 ns/op
Iteration   5: 7673896.319 ns/op


Result "com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_7":
  7734723.237 ?99.9%) 58965.761 ns/op [Average]

  (min, avg, max) = (7640983.193, 7734723.237, 7967621.815), stdev = 78717.604
  CI (99.9%): [7675757.476, 7793688.998] (assumes normal distribution)


# JMH version: 1.21
# VM version: JDK 13.0.2, OpenJDK 64-Bit Server VM, 13.0.2+8
# VM invoker: C:\jdk-13.0.2+8\bin\java.exe
# VM options: <none>
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: com.xenoamess.performance.StandardCharsetPerformanceTest.testUsingCharsetEmpty

# Run progress: 57.14% complete, ETA 00:50:17
# Fork: 1 of 5
# Warmup Iteration   1: 0.384 ns/op
# Warmup Iteration   2: 0.384 ns/op
# Warmup Iteration   3: 0.512 ns/op
# Warmup Iteration   4: 0.529 ns/op
# Warmup Iteration   5: 0.513 ns/op
Iteration   1: 0.513 ns/op
Iteration   2: 0.514 ns/op
Iteration   3: 0.517 ns/op
Iteration   4: 0.517 ns/op
Iteration   5: 0.513 ns/op

# Run progress: 58.57% complete, ETA 00:48:37
# Fork: 2 of 5
# Warmup Iteration   1: 0.382 ns/op
# Warmup Iteration   2: 0.384 ns/op
# Warmup Iteration   3: 0.514 ns/op
# Warmup Iteration   4: 0.518 ns/op
# Warmup Iteration   5: 0.531 ns/op
Iteration   1: 0.531 ns/op
Iteration   2: 0.528 ns/op
Iteration   3: 0.542 ns/op
Iteration   4: 0.512 ns/op
Iteration   5: 0.514 ns/op

# Run progress: 60.00% complete, ETA 00:46:56
# Fork: 3 of 5
# Warmup Iteration   1: 0.386 ns/op
# Warmup Iteration   2: 0.385 ns/op
# Warmup Iteration   3: 0.509 ns/op
# Warmup Iteration   4: 0.511 ns/op
# Warmup Iteration   5: 0.511 ns/op
Iteration   1: 0.513 ns/op
Iteration   2: 0.511 ns/op
Iteration   3: 0.515 ns/op
Iteration   4: 0.512 ns/op
Iteration   5: 0.511 ns/op

# Run progress: 61.43% complete, ETA 00:45:15
# Fork: 4 of 5
# Warmup Iteration   1: 0.384 ns/op
# Warmup Iteration   2: 0.385 ns/op
# Warmup Iteration   3: 0.510 ns/op
# Warmup Iteration   4: 0.513 ns/op
# Warmup Iteration   5: 0.515 ns/op
Iteration   1: 0.508 ns/op
Iteration   2: 0.510 ns/op
Iteration   3: 0.526 ns/op
Iteration   4: 0.522 ns/op
Iteration   5: 0.518 ns/op

# Run progress: 62.86% complete, ETA 00:43:35
# Fork: 5 of 5
# Warmup Iteration   1: 0.383 ns/op
# Warmup Iteration   2: 0.384 ns/op
# Warmup Iteration   3: 0.520 ns/op
# Warmup Iteration   4: 0.524 ns/op
# Warmup Iteration   5: 0.522 ns/op
Iteration   1: 0.522 ns/op
Iteration   2: 0.522 ns/op
Iteration   3: 0.534 ns/op
Iteration   4: 0.535 ns/op
Iteration   5: 0.546 ns/op


Result "com.xenoamess.performance.StandardCharsetPerformanceTest.testUsingCharsetEmpty":
  0.520 ?99.9%) 0.008 ns/op [Average]

  (min, avg, max) = (0.508, 0.520, 0.546), stdev = 0.010
  CI (99.9%): [0.512, 0.528] (assumes normal distribution)


# JMH version: 1.21
# VM version: JDK 13.0.2, OpenJDK 64-Bit Server VM, 13.0.2+8
# VM invoker: C:\jdk-13.0.2+8\bin\java.exe
# VM options: <none>
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: com.xenoamess.performance.StandardCharsetPerformanceTest.testUsingCharsetLong

# Run progress: 64.29% complete, ETA 00:41:54
# Fork: 1 of 5
# Warmup Iteration   1: 6693.577 ns/op
# Warmup Iteration   2: 6591.517 ns/op
# Warmup Iteration   3: 6358.551 ns/op
# Warmup Iteration   4: 6331.108 ns/op
# Warmup Iteration   5: 6291.119 ns/op
Iteration   1: 6327.312 ns/op
Iteration   2: 6271.639 ns/op
Iteration   3: 6263.620 ns/op
Iteration   4: 6327.414 ns/op
Iteration   5: 6445.752 ns/op

# Run progress: 65.71% complete, ETA 00:40:13
# Fork: 2 of 5
# Warmup Iteration   1: 6503.512 ns/op
# Warmup Iteration   2: 6314.576 ns/op
# Warmup Iteration   3: 6308.393 ns/op
# Warmup Iteration   4: 6311.676 ns/op
# Warmup Iteration   5: 6297.285 ns/op
Iteration   1: 6275.013 ns/op
Iteration   2: 6375.373 ns/op
Iteration   3: 6220.002 ns/op
Iteration   4: 6201.201 ns/op
Iteration   5: 6219.211 ns/op

# Run progress: 67.14% complete, ETA 00:38:33
# Fork: 3 of 5
# Warmup Iteration   1: 6616.621 ns/op
# Warmup Iteration   2: 6455.784 ns/op
# Warmup Iteration   3: 6243.035 ns/op
# Warmup Iteration   4: 6240.915 ns/op
# Warmup Iteration   5: 6215.890 ns/op
Iteration   1: 6225.656 ns/op
Iteration   2: 6192.262 ns/op
Iteration   3: 6231.114 ns/op
Iteration   4: 6230.757 ns/op
Iteration   5: 6256.204 ns/op

# Run progress: 68.57% complete, ETA 00:36:52
# Fork: 4 of 5
# Warmup Iteration   1: 6463.780 ns/op
# Warmup Iteration   2: 6295.714 ns/op
# Warmup Iteration   3: 6534.414 ns/op
# Warmup Iteration   4: 6407.909 ns/op
# Warmup Iteration   5: 6458.422 ns/op
Iteration   1: 6449.080 ns/op
Iteration   2: 6182.137 ns/op
Iteration   3: 6232.598 ns/op
Iteration   4: 6193.465 ns/op
Iteration   5: 6220.796 ns/op

# Run progress: 70.00% complete, ETA 00:35:12
# Fork: 5 of 5
# Warmup Iteration   1: 6424.461 ns/op
# Warmup Iteration   2: 6223.967 ns/op
# Warmup Iteration   3: 6209.976 ns/op
# Warmup Iteration   4: 6282.359 ns/op
# Warmup Iteration   5: 6218.873 ns/op
Iteration   1: 6231.966 ns/op
Iteration   2: 6237.569 ns/op
Iteration   3: 6242.222 ns/op
Iteration   4: 6204.214 ns/op
Iteration   5: 6229.873 ns/op


Result "com.xenoamess.performance.StandardCharsetPerformanceTest.testUsingCharsetLong":
  6259.458 ?99.9%) 54.190 ns/op [Average]

  (min, avg, max) = (6182.137, 6259.458, 6449.080), stdev = 72.343
  CI (99.9%): [6205.268, 6313.648] (assumes normal distribution)


# JMH version: 1.21
# VM version: JDK 13.0.2, OpenJDK 64-Bit Server VM, 13.0.2+8
# VM invoker: C:\jdk-13.0.2+8\bin\java.exe
# VM options: <none>
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: com.xenoamess.performance.StandardCharsetPerformanceTest.testUsingCharsetShort

# Run progress: 71.43% complete, ETA 00:33:31
# Fork: 1 of 5
# Warmup Iteration   1: 8.223 ns/op
# Warmup Iteration   2: 7.894 ns/op
# Warmup Iteration   3: 8.204 ns/op
# Warmup Iteration   4: 7.925 ns/op
# Warmup Iteration   5: 7.899 ns/op
Iteration   1: 7.970 ns/op
Iteration   2: 7.967 ns/op
Iteration   3: 7.909 ns/op
Iteration   4: 7.995 ns/op
Iteration   5: 8.018 ns/op

# Run progress: 72.86% complete, ETA 00:31:51
# Fork: 2 of 5
# Warmup Iteration   1: 8.219 ns/op
# Warmup Iteration   2: 8.014 ns/op
# Warmup Iteration   3: 7.924 ns/op
# Warmup Iteration   4: 7.960 ns/op
# Warmup Iteration   5: 8.008 ns/op
Iteration   1: 8.023 ns/op
Iteration   2: 8.340 ns/op
Iteration   3: 8.460 ns/op
Iteration   4: 8.305 ns/op
Iteration   5: 8.038 ns/op

# Run progress: 74.29% complete, ETA 00:30:10
# Fork: 3 of 5
# Warmup Iteration   1: 8.168 ns/op
# Warmup Iteration   2: 7.933 ns/op
# Warmup Iteration   3: 7.877 ns/op
# Warmup Iteration   4: 8.118 ns/op
# Warmup Iteration   5: 8.110 ns/op
Iteration   1: 7.859 ns/op
Iteration   2: 8.006 ns/op
Iteration   3: 7.938 ns/op
Iteration   4: 7.962 ns/op
Iteration   5: 8.085 ns/op

# Run progress: 75.71% complete, ETA 00:28:29
# Fork: 4 of 5
# Warmup Iteration   1: 8.180 ns/op
# Warmup Iteration   2: 7.992 ns/op
# Warmup Iteration   3: 8.031 ns/op
# Warmup Iteration   4: 7.934 ns/op
# Warmup Iteration   5: 7.925 ns/op
Iteration   1: 8.050 ns/op
Iteration   2: 7.951 ns/op
Iteration   3: 7.895 ns/op
Iteration   4: 7.989 ns/op
Iteration   5: 8.024 ns/op

# Run progress: 77.14% complete, ETA 00:26:49
# Fork: 5 of 5
# Warmup Iteration   1: 8.217 ns/op
# Warmup Iteration   2: 7.983 ns/op
# Warmup Iteration   3: 7.920 ns/op
# Warmup Iteration   4: 7.964 ns/op
# Warmup Iteration   5: 7.958 ns/op
Iteration   1: 8.373 ns/op
Iteration   2: 7.925 ns/op
Iteration   3: 7.999 ns/op
Iteration   4: 7.960 ns/op
Iteration   5: 8.294 ns/op


Result "com.xenoamess.performance.StandardCharsetPerformanceTest.testUsingCharsetShort":
  8.053 ?99.9%) 0.123 ns/op [Average]

  (min, avg, max) = (7.859, 8.053, 8.460), stdev = 0.164
  CI (99.9%): [7.931, 8.176] (assumes normal distribution)


# JMH version: 1.21
# VM version: JDK 13.0.2, OpenJDK 64-Bit Server VM, 13.0.2+8
# VM invoker: C:\jdk-13.0.2+8\bin\java.exe
# VM options: <none>
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: com.xenoamess.performance.StandardCharsetPerformanceTest.testUsingStringEmpty

# Run progress: 78.57% complete, ETA 00:25:08
# Fork: 1 of 5
# Warmup Iteration   1: 10.382 ns/op
# Warmup Iteration   2: 7.970 ns/op
# Warmup Iteration   3: 7.840 ns/op
# Warmup Iteration   4: 7.543 ns/op
# Warmup Iteration   5: 7.491 ns/op
Iteration   1: 7.454 ns/op
Iteration   2: 7.508 ns/op
Iteration   3: 7.509 ns/op
Iteration   4: 7.560 ns/op
Iteration   5: 7.494 ns/op

# Run progress: 80.00% complete, ETA 00:23:28
# Fork: 2 of 5
# Warmup Iteration   1: 8.239 ns/op
# Warmup Iteration   2: 7.584 ns/op
# Warmup Iteration   3: 7.563 ns/op
# Warmup Iteration   4: 7.545 ns/op
# Warmup Iteration   5: 7.458 ns/op
Iteration   1: 7.524 ns/op
Iteration   2: 7.531 ns/op
Iteration   3: 7.579 ns/op
Iteration   4: 7.479 ns/op
Iteration   5: 7.545 ns/op

# Run progress: 81.43% complete, ETA 00:21:47
# Fork: 3 of 5
# Warmup Iteration   1: 7.663 ns/op
# Warmup Iteration   2: 7.600 ns/op
# Warmup Iteration   3: 7.486 ns/op
# Warmup Iteration   4: 7.485 ns/op
# Warmup Iteration   5: 7.523 ns/op
Iteration   1: 7.496 ns/op
Iteration   2: 7.531 ns/op
Iteration   3: 7.532 ns/op
Iteration   4: 7.458 ns/op
Iteration   5: 7.458 ns/op

# Run progress: 82.86% complete, ETA 00:20:06
# Fork: 4 of 5
# Warmup Iteration   1: 7.684 ns/op
# Warmup Iteration   2: 7.531 ns/op
# Warmup Iteration   3: 7.569 ns/op
# Warmup Iteration   4: 8.337 ns/op
# Warmup Iteration   5: 8.358 ns/op
Iteration   1: 8.547 ns/op
Iteration   2: 8.361 ns/op
Iteration   3: 7.583 ns/op
Iteration   4: 7.734 ns/op
Iteration   5: 7.559 ns/op

# Run progress: 84.29% complete, ETA 00:18:26
# Fork: 5 of 5
# Warmup Iteration   1: 4.113 ns/op
# Warmup Iteration   2: 10.367 ns/op
# Warmup Iteration   3: 9.554 ns/op
# Warmup Iteration   4: 9.361 ns/op
# Warmup Iteration   5: 9.358 ns/op
Iteration   1: 9.464 ns/op
Iteration   2: 9.480 ns/op
Iteration   3: 9.346 ns/op
Iteration   4: 9.381 ns/op
Iteration   5: 9.505 ns/op


Result "com.xenoamess.performance.StandardCharsetPerformanceTest.testUsingStringEmpty":
  7.985 ?99.9%) 0.588 ns/op [Average]

  (min, avg, max) = (7.454, 7.985, 9.505), stdev = 0.785
  CI (99.9%): [7.397, 8.573] (assumes normal distribution)


# JMH version: 1.21
# VM version: JDK 13.0.2, OpenJDK 64-Bit Server VM, 13.0.2+8
# VM invoker: C:\jdk-13.0.2+8\bin\java.exe
# VM options: <none>
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: com.xenoamess.performance.StandardCharsetPerformanceTest.testUsingStringLong

# Run progress: 85.71% complete, ETA 00:16:45
# Fork: 1 of 5
# Warmup Iteration   1: 6385.708 ns/op
# Warmup Iteration   2: 6227.877 ns/op
# Warmup Iteration   3: 6242.127 ns/op
# Warmup Iteration   4: 6235.145 ns/op
# Warmup Iteration   5: 6241.942 ns/op
Iteration   1: 6210.447 ns/op
Iteration   2: 6299.281 ns/op
Iteration   3: 6296.458 ns/op
Iteration   4: 6222.052 ns/op
Iteration   5: 6241.037 ns/op

# Run progress: 87.14% complete, ETA 00:15:05
# Fork: 2 of 5
# Warmup Iteration   1: 6485.702 ns/op
# Warmup Iteration   2: 6283.838 ns/op
# Warmup Iteration   3: 6232.504 ns/op
# Warmup Iteration   4: 6322.457 ns/op
# Warmup Iteration   5: 6200.838 ns/op
Iteration   1: 6238.116 ns/op
Iteration   2: 6231.188 ns/op
Iteration   3: 6503.958 ns/op
Iteration   4: 6445.753 ns/op
Iteration   5: 6492.303 ns/op

# Run progress: 88.57% complete, ETA 00:13:24
# Fork: 3 of 5
# Warmup Iteration   1: 6553.799 ns/op
# Warmup Iteration   2: 6246.484 ns/op
# Warmup Iteration   3: 6214.039 ns/op
# Warmup Iteration   4: 6245.074 ns/op
# Warmup Iteration   5: 6214.649 ns/op
Iteration   1: 6288.698 ns/op
Iteration   2: 6222.602 ns/op
Iteration   3: 6227.929 ns/op
Iteration   4: 6255.684 ns/op
Iteration   5: 6270.166 ns/op

# Run progress: 90.00% complete, ETA 00:11:44
# Fork: 4 of 5
# Warmup Iteration   1: 6399.625 ns/op
# Warmup Iteration   2: 6456.860 ns/op
# Warmup Iteration   3: 6198.951 ns/op
# Warmup Iteration   4: 6226.233 ns/op
# Warmup Iteration   5: 6214.807 ns/op
Iteration   1: 6219.650 ns/op
Iteration   2: 6233.819 ns/op
Iteration   3: 6255.994 ns/op
Iteration   4: 6240.036 ns/op
Iteration   5: 6282.639 ns/op

# Run progress: 91.43% complete, ETA 00:10:03
# Fork: 5 of 5
# Warmup Iteration   1: 6393.973 ns/op
# Warmup Iteration   2: 6215.190 ns/op
# Warmup Iteration   3: 6259.188 ns/op
# Warmup Iteration   4: 6259.687 ns/op
# Warmup Iteration   5: 6246.468 ns/op
Iteration   1: 6274.718 ns/op
Iteration   2: 6219.192 ns/op
Iteration   3: 6223.774 ns/op
Iteration   4: 6225.921 ns/op
Iteration   5: 6382.710 ns/op


Result "com.xenoamess.performance.StandardCharsetPerformanceTest.testUsingStringLong":
  6280.165 ?99.9%) 63.466 ns/op [Average]

  (min, avg, max) = (6210.447, 6280.165, 6503.958), stdev = 84.726
  CI (99.9%): [6216.699, 6343.631] (assumes normal distribution)


# JMH version: 1.21
# VM version: JDK 13.0.2, OpenJDK 64-Bit Server VM, 13.0.2+8
# VM invoker: C:\jdk-13.0.2+8\bin\java.exe
# VM options: <none>
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: com.xenoamess.performance.StandardCharsetPerformanceTest.testUsingStringShort

# Run progress: 92.86% complete, ETA 00:08:22
# Fork: 1 of 5
# Warmup Iteration   1: 12.950 ns/op
# Warmup Iteration   2: 15.219 ns/op
# Warmup Iteration   3: 14.899 ns/op
# Warmup Iteration   4: 15.624 ns/op
# Warmup Iteration   5: 14.499 ns/op
Iteration   1: 14.100 ns/op
Iteration   2: 14.229 ns/op
Iteration   3: 14.380 ns/op
Iteration   4: 14.194 ns/op
Iteration   5: 14.386 ns/op

# Run progress: 94.29% complete, ETA 00:06:42
# Fork: 2 of 5
# Warmup Iteration   1: 15.444 ns/op
# Warmup Iteration   2: 14.473 ns/op
# Warmup Iteration   3: 14.103 ns/op
# Warmup Iteration   4: 14.243 ns/op
# Warmup Iteration   5: 14.169 ns/op
Iteration   1: 14.169 ns/op
Iteration   2: 14.290 ns/op
Iteration   3: 14.297 ns/op
Iteration   4: 14.149 ns/op
Iteration   5: 14.141 ns/op

# Run progress: 95.71% complete, ETA 00:05:01
# Fork: 3 of 5
# Warmup Iteration   1: 12.190 ns/op
# Warmup Iteration   2: 14.447 ns/op
# Warmup Iteration   3: 14.182 ns/op
# Warmup Iteration   4: 14.308 ns/op
# Warmup Iteration   5: 15.025 ns/op
Iteration   1: 14.420 ns/op
Iteration   2: 14.548 ns/op
Iteration   3: 14.234 ns/op
Iteration   4: 14.322 ns/op
Iteration   5: 14.388 ns/op

# Run progress: 97.14% complete, ETA 00:03:21
# Fork: 4 of 5
# Warmup Iteration   1: 14.682 ns/op
# Warmup Iteration   2: 14.371 ns/op
# Warmup Iteration   3: 14.081 ns/op
# Warmup Iteration   4: 14.034 ns/op
# Warmup Iteration   5: 14.570 ns/op
Iteration   1: 14.921 ns/op
Iteration   2: 14.812 ns/op
Iteration   3: 14.669 ns/op
Iteration   4: 14.155 ns/op
Iteration   5: 14.005 ns/op

# Run progress: 98.57% complete, ETA 00:01:40
# Fork: 5 of 5
# Warmup Iteration   1: 12.040 ns/op
# Warmup Iteration   2: 14.576 ns/op
# Warmup Iteration   3: 14.218 ns/op
# Warmup Iteration   4: 14.146 ns/op
# Warmup Iteration   5: 14.166 ns/op
Iteration   1: 14.189 ns/op
Iteration   2: 14.761 ns/op
Iteration   3: 14.073 ns/op
Iteration   4: 14.105 ns/op
Iteration   5: 14.242 ns/op


Result "com.xenoamess.performance.StandardCharsetPerformanceTest.testUsingStringShort":
  14.327 ?99.9%) 0.182 ns/op [Average]

  (min, avg, max) = (14.005, 14.327, 14.921), stdev = 0.243
  CI (99.9%): [14.145, 14.509] (assumes normal distribution)


# Run complete. Total time: 01:57:20

REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on
why the numbers are the way they are. Use profilers (see -prof, -lprof), design factorial
experiments, perform baseline and negative tests that provide experimental control, make sure
the benchmarking environment is safe on JVM/OS/HW level, ask for reviews from the domain experts.
Do not assume the numbers tell you what you want them to tell.

Benchmark                                             Mode  Cnt         Score        Error  Units
ArrayFill01PerformanceTest.testUsingFill01_0          avgt   25   8288492.925 ?124903.993  ns/op

ArrayFill01PerformanceTest.testUsingFill01_1          avgt   25  15500371.990 ?212826.089  ns/op

ArrayFill01PerformanceTest.testUsingFill01_2          avgt   25  10773702.382 ?215515.928  ns/op

ArrayFill01PerformanceTest.testUsingFill01_3          avgt   25  10666327.000 ?142261.582  ns/op

ArrayFill01PerformanceTest.testUsingFill01_4          avgt   25   9978203.189 ?141978.395  ns/op

ArrayFill01PerformanceTest.testUsingFill01_5          avgt   25   7764637.686 ? 85571.032  ns/op

ArrayFill01PerformanceTest.testUsingFill01_6          avgt   25   7785791.751 ?110335.806  ns/op

ArrayFill01PerformanceTest.testUsingFill01_7          avgt   25   7734723.237 ? 58965.761  ns/op

StandardCharsetPerformanceTest.testUsingCharsetEmpty  avgt   25         0.520 ?     0.008  ns/op

StandardCharsetPerformanceTest.testUsingCharsetLong   avgt   25      6259.458 ?    54.190  ns/op

StandardCharsetPerformanceTest.testUsingCharsetShort  avgt   25         8.053 ?     0.123  ns/op

StandardCharsetPerformanceTest.testUsingStringEmpty   avgt   25         7.985 ?     0.588  ns/op

StandardCharsetPerformanceTest.testUsingStringLong    avgt   25      6280.165 ?    63.466  ns/op

StandardCharsetPerformanceTest.testUsingStringShort   avgt   25        14.327 ?     0.182  ns/op


Benchmark result is saved to target/jmh-result.com.xenoamess.json

@XenoAmess
Copy link
Contributor Author

benchmark result json:

[
    {
        "jmhVersion" : "1.21",
        "benchmark" : "com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_0",
        "mode" : "avgt",
        "threads" : 1,
        "forks" : 5,
        "jvm" : "C:\\jdk-13.0.2+8\\bin\\java.exe",
        "jvmArgs" : [
        ],
        "jdkVersion" : "13.0.2",
        "vmName" : "OpenJDK 64-Bit Server VM",
        "vmVersion" : "13.0.2+8",
        "warmupIterations" : 5,
        "warmupTime" : "10 s",
        "warmupBatchSize" : 1,
        "measurementIterations" : 5,
        "measurementTime" : "10 s",
        "measurementBatchSize" : 1,
        "primaryMetric" : {
            "score" : 8288492.92515779,
            "scoreError" : 124903.99276817974,
            "scoreConfidence" : [
                8163588.93238961,
                8413396.91792597
            ],
            "scorePercentiles" : {
                "0.0" : 8121834.630981347,
                "50.0" : 8211558.408531583,
                "90.0" : 8602957.39329498,
                "95.0" : 8624862.003980957,
                "99.0" : 8633303.796376185,
                "99.9" : 8633303.796376185,
                "99.99" : 8633303.796376185,
                "99.999" : 8633303.796376185,
                "99.9999" : 8633303.796376185,
                "100.0" : 8633303.796376185
            },
            "scoreUnit" : "ns/op",
            "rawData" : [
                [
                    8372389.381270903,
                    8441160.759493671,
                    8590144.082332762,
                    8605164.488392089,
                    8633303.796376185
                ],
                [
                    8195500.327600327,
                    8163144.6982055465,
                    8188478.968903437,
                    8182008.912510221,
                    8449028.35443038
                ],
                [
                    8255931.739488871,
                    8273245.20661157,
                    8601485.996563574,
                    8288561.806130903,
                    8154787.866449512
                ],
                [
                    8184281.602616517,
                    8150340.716612378,
                    8159347.351263244,
                    8139490.317331163,
                    8249754.448105437
                ],
                [
                    8211558.408531583,
                    8193085.585585586,
                    8277648.760330578,
                    8130644.92282697,
                    8121834.630981347
                ]
            ]
        },
        "secondaryMetrics" : {
        }
    },
    {
        "jmhVersion" : "1.21",
        "benchmark" : "com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_1",
        "mode" : "avgt",
        "threads" : 1,
        "forks" : 5,
        "jvm" : "C:\\jdk-13.0.2+8\\bin\\java.exe",
        "jvmArgs" : [
        ],
        "jdkVersion" : "13.0.2",
        "vmName" : "OpenJDK 64-Bit Server VM",
        "vmVersion" : "13.0.2+8",
        "warmupIterations" : 5,
        "warmupTime" : "10 s",
        "warmupBatchSize" : 1,
        "measurementIterations" : 5,
        "measurementTime" : "10 s",
        "measurementBatchSize" : 1,
        "primaryMetric" : {
            "score" : 1.5500371990217933E7,
            "scoreError" : 212826.08852866208,
            "scoreConfidence" : [
                1.528754590168927E7,
                1.5713198078746596E7
            ],
            "scorePercentiles" : {
                "0.0" : 1.5191720030349014E7,
                "50.0" : 1.538405821812596E7,
                "90.0" : 1.6053028688727003E7,
                "95.0" : 1.607983172616682E7,
                "99.0" : 1.60886077170418E7,
                "99.9" : 1.60886077170418E7,
                "99.99" : 1.60886077170418E7,
                "99.999" : 1.60886077170418E7,
                "99.9999" : 1.60886077170418E7,
                "100.0" : 1.60886077170418E7
            },
            "scoreUnit" : "ns/op",
            "rawData" : [
                [
                    1.526164481707317E7,
                    1.5291169770992367E7,
                    1.556117900466563E7,
                    1.5759320787401576E7,
                    1.5383860829493087E7
                ],
                [
                    1.5526721085271318E7,
                    1.544601651234568E7,
                    1.557121928460342E7,
                    1.5480547604327666E7,
                    1.5525285891472869E7
                ],
                [
                    1.6040160576923076E7,
                    1.60593544141252E7,
                    1.60886077170418E7,
                    1.6048811538461538E7,
                    1.558107371695179E7
                ],
                [
                    1.5191720030349014E7,
                    1.5293462232415901E7,
                    1.537437480798771E7,
                    1.5279860152671756E7,
                    1.5250030898021309E7
                ],
                [
                    1.5332933996937213E7,
                    1.5311638379204893E7,
                    1.5241510350076104E7,
                    1.5224737138508372E7,
                    1.538405821812596E7
                ]
            ]
        },
        "secondaryMetrics" : {
        }
    },
    {
        "jmhVersion" : "1.21",
        "benchmark" : "com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_2",
        "mode" : "avgt",
        "threads" : 1,
        "forks" : 5,
        "jvm" : "C:\\jdk-13.0.2+8\\bin\\java.exe",
        "jvmArgs" : [
        ],
        "jdkVersion" : "13.0.2",
        "vmName" : "OpenJDK 64-Bit Server VM",
        "vmVersion" : "13.0.2+8",
        "warmupIterations" : 5,
        "warmupTime" : "10 s",
        "warmupBatchSize" : 1,
        "measurementIterations" : 5,
        "measurementTime" : "10 s",
        "measurementBatchSize" : 1,
        "primaryMetric" : {
            "score" : 1.0773702381753586E7,
            "scoreError" : 215515.92756480485,
            "scoreConfidence" : [
                1.055818645418878E7,
                1.0989218309318392E7
            ],
            "scorePercentiles" : {
                "0.0" : 1.0526178443743428E7,
                "50.0" : 1.0695549465811966E7,
                "90.0" : 1.1214810348115299E7,
                "95.0" : 1.1698364184021061E7,
                "99.0" : 1.1834210165484633E7,
                "99.9" : 1.1834210165484633E7,
                "99.99" : 1.1834210165484633E7,
                "99.999" : 1.1834210165484633E7,
                "99.9999" : 1.1834210165484633E7,
                "100.0" : 1.1834210165484633E7
            },
            "scoreUnit" : "ns/op",
            "rawData" : [
                [
                    1.0604499152542373E7,
                    1.066202673056443E7,
                    1.0724352034261242E7,
                    1.088093293478261E7,
                    1.1381390227272727E7
                ],
                [
                    1.0690470330843117E7,
                    1.0600801906779662E7,
                    1.0830365909090908E7,
                    1.0704224064171122E7,
                    1.0526178443743428E7
                ],
                [
                    1.0572318498942917E7,
                    1.0832170021645023E7,
                    1.0598606878306879E7,
                    1.0733685729613734E7,
                    1.0695549465811966E7
                ],
                [
                    1.0754250053705692E7,
                    1.0558563502109705E7,
                    1.0671763859275054E7,
                    1.0793272737068966E7,
                    1.0616668292682927E7
                ],
                [
                    1.1834210165484633E7,
                    1.1103757095343681E7,
                    1.0666797334754797E7,
                    1.0746334871244635E7,
                    1.0559369303797469E7
                ]
            ]
        },
        "secondaryMetrics" : {
        }
    },
    {
        "jmhVersion" : "1.21",
        "benchmark" : "com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_3",
        "mode" : "avgt",
        "threads" : 1,
        "forks" : 5,
        "jvm" : "C:\\jdk-13.0.2+8\\bin\\java.exe",
        "jvmArgs" : [
        ],
        "jdkVersion" : "13.0.2",
        "vmName" : "OpenJDK 64-Bit Server VM",
        "vmVersion" : "13.0.2+8",
        "warmupIterations" : 5,
        "warmupTime" : "10 s",
        "warmupBatchSize" : 1,
        "measurementIterations" : 5,
        "measurementTime" : "10 s",
        "measurementBatchSize" : 1,
        "primaryMetric" : {
            "score" : 1.066632700020902E7,
            "scoreError" : 142261.58150555266,
            "scoreConfidence" : [
                1.0524065418703469E7,
                1.0808588581714572E7
            ],
            "scorePercentiles" : {
                "0.0" : 1.0479680230125522E7,
                "50.0" : 1.0581252325581396E7,
                "90.0" : 1.1072681175964406E7,
                "95.0" : 1.1100929506595425E7,
                "99.0" : 1.1111801886792453E7,
                "99.9" : 1.1111801886792453E7,
                "99.99" : 1.1111801886792453E7,
                "99.999" : 1.1111801886792453E7,
                "99.9999" : 1.1111801886792453E7,
                "100.0" : 1.1111801886792453E7
            },
            "scoreUnit" : "ns/op",
            "rawData" : [
                [
                    1.0531877812828602E7,
                    1.0529814421052631E7,
                    1.0535509684210526E7,
                    1.0654969755058574E7,
                    1.0575592397043295E7
                ],
                [
                    1.0565046884899683E7,
                    1.0888406746463547E7,
                    1.057242156448203E7,
                    1.0715831263383297E7,
                    1.0581252325581396E7
                ],
                [
                    1.0654674042553192E7,
                    1.0865166702819956E7,
                    1.1111801886792453E7,
                    1.1075560619469026E7,
                    1.1070761546961326E7
                ],
                [
                    1.0537023157894736E7,
                    1.079922696871629E7,
                    1.0592874285714285E7,
                    1.0584815221987315E7,
                    1.05115618697479E7
                ],
                [
                    1.0529463932702418E7,
                    1.0537099789473685E7,
                    1.0479680230125522E7,
                    1.0567554487856388E7,
                    1.0590187407407407E7
                ]
            ]
        },
        "secondaryMetrics" : {
        }
    },
    {
        "jmhVersion" : "1.21",
        "benchmark" : "com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_4",
        "mode" : "avgt",
        "threads" : 1,
        "forks" : 5,
        "jvm" : "C:\\jdk-13.0.2+8\\bin\\java.exe",
        "jvmArgs" : [
        ],
        "jdkVersion" : "13.0.2",
        "vmName" : "OpenJDK 64-Bit Server VM",
        "vmVersion" : "13.0.2+8",
        "warmupIterations" : 5,
        "warmupTime" : "10 s",
        "warmupBatchSize" : 1,
        "measurementIterations" : 5,
        "measurementTime" : "10 s",
        "measurementBatchSize" : 1,
        "primaryMetric" : {
            "score" : 9978203.18907686,
            "scoreError" : 141978.39531503644,
            "scoreConfidence" : [
                9836224.793761823,
                1.0120181584391896E7
            ],
            "scorePercentiles" : {
                "0.0" : 9786377.223851418,
                "50.0" : 9883820.730503455,
                "90.0" : 1.0342302935728068E7,
                "95.0" : 1.0408347430124223E7,
                "99.0" : 1.04278875E7,
                "99.9" : 1.04278875E7,
                "99.99" : 1.04278875E7,
                "99.999" : 1.04278875E7,
                "99.9999" : 1.04278875E7,
                "100.0" : 1.04278875E7
            },
            "scoreUnit" : "ns/op",
            "rawData" : [
                [
                    9905647.524752475,
                    9845718.405511811,
                    1.0091017237903226E7,
                    9856813.793103449,
                    9836951.66994106
                ],
                [
                    9786377.223851418,
                    9814062.647058824,
                    9861395.960591134,
                    9847169.223205507,
                    9841603.736479843
                ],
                [
                    1.0137187436676798E7,
                    9992579.740518963,
                    9876920.927936822,
                    1.0362753933747413E7,
                    9883820.730503455
                ],
                [
                    9881004.339250494,
                    9941753.02879841,
                    9856089.468503937,
                    9954518.407960199,
                    9844867.649950836
                ],
                [
                    1.0297778600823045E7,
                    1.04278875E7,
                    1.0328668937048504E7,
                    9905590.495049505,
                    1.007690110775428E7
                ]
            ]
        },
        "secondaryMetrics" : {
        }
    },
    {
        "jmhVersion" : "1.21",
        "benchmark" : "com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_5",
        "mode" : "avgt",
        "threads" : 1,
        "forks" : 5,
        "jvm" : "C:\\jdk-13.0.2+8\\bin\\java.exe",
        "jvmArgs" : [
        ],
        "jdkVersion" : "13.0.2",
        "vmName" : "OpenJDK 64-Bit Server VM",
        "vmVersion" : "13.0.2+8",
        "warmupIterations" : 5,
        "warmupTime" : "10 s",
        "warmupBatchSize" : 1,
        "measurementIterations" : 5,
        "measurementTime" : "10 s",
        "measurementBatchSize" : 1,
        "primaryMetric" : {
            "score" : 7764637.686265251,
            "scoreError" : 85571.03151182728,
            "scoreConfidence" : [
                7679066.654753423,
                7850208.717777078
            ],
            "scorePercentiles" : {
                "0.0" : 7655830.604437644,
                "50.0" : 7732772.333848531,
                "90.0" : 7922547.0088252025,
                "95.0" : 8135610.7733778525,
                "99.0" : 8158034.311328444,
                "99.9" : 8158034.311328444,
                "99.99" : 8158034.311328444,
                "99.999" : 8158034.311328444,
                "99.9999" : 8158034.311328444,
                "100.0" : 8158034.311328444
            },
            "scoreUnit" : "ns/op",
            "rawData" : [
                [
                    7812349.92199688,
                    7764371.217998449,
                    7741274.845201238,
                    7722208.712413262,
                    7747369.504643963
                ],
                [
                    7690446.502690238,
                    7737829.366306027,
                    7741707.115235886,
                    7694723.230769231,
                    7683630.184331797
                ],
                [
                    7763132.660977502,
                    7774204.425465838,
                    7770356.9875776395,
                    8158034.311328444,
                    8083289.184826473
                ],
                [
                    7655830.604437644,
                    7667822.12863706,
                    7729055.8301158305,
                    7720177.391975309,
                    7720653.62654321
                ],
                [
                    7731487.635239568,
                    7731461.591962906,
                    7726367.283950618,
                    7732772.333848531,
                    7815385.558157689
                ]
            ]
        },
        "secondaryMetrics" : {
        }
    },
    {
        "jmhVersion" : "1.21",
        "benchmark" : "com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_6",
        "mode" : "avgt",
        "threads" : 1,
        "forks" : 5,
        "jvm" : "C:\\jdk-13.0.2+8\\bin\\java.exe",
        "jvmArgs" : [
        ],
        "jdkVersion" : "13.0.2",
        "vmName" : "OpenJDK 64-Bit Server VM",
        "vmVersion" : "13.0.2+8",
        "warmupIterations" : 5,
        "warmupTime" : "10 s",
        "warmupBatchSize" : 1,
        "measurementIterations" : 5,
        "measurementTime" : "10 s",
        "measurementBatchSize" : 1,
        "primaryMetric" : {
            "score" : 7785791.750956517,
            "scoreError" : 110335.80564538664,
            "scoreConfidence" : [
                7675455.94531113,
                7896127.556601903
            ],
            "scorePercentiles" : {
                "0.0" : 7639785.34351145,
                "50.0" : 7722074.691358024,
                "90.0" : 8063537.845303652,
                "95.0" : 8126925.212927751,
                "99.0" : 8145394.222945484,
                "99.9" : 8145394.222945484,
                "99.99" : 8145394.222945484,
                "99.999" : 8145394.222945484,
                "99.9999" : 8145394.222945484,
                "100.0" : 8145394.222945484
            },
            "scoreUnit" : "ns/op",
            "rawData" : [
                [
                    7760971.782945736,
                    7728586.563706564,
                    7711172.419106318,
                    7701394.53425712,
                    7695170.714834742
                ],
                [
                    8020741.1387329595,
                    7712301.155624037,
                    7747559.2105263155,
                    7805542.277691107,
                    7717420.817270624
                ],
                [
                    7722074.691358024,
                    7681146.124328473,
                    7651215.596330275,
                    7698518.601076095,
                    7692346.579554189
                ],
                [
                    7723230.864197531,
                    7725648.37962963,
                    7697840.923076923,
                    7675209.808429119,
                    7639785.34351145
                ],
                [
                    7900382.951854775,
                    8050009.171359614,
                    8145394.222945484,
                    8083830.856219709,
                    7957299.045346062
                ]
            ]
        },
        "secondaryMetrics" : {
        }
    },
    {
        "jmhVersion" : "1.21",
        "benchmark" : "com.xenoamess.performance.ArrayFill01PerformanceTest.testUsingFill01_7",
        "mode" : "avgt",
        "threads" : 1,
        "forks" : 5,
        "jvm" : "C:\\jdk-13.0.2+8\\bin\\java.exe",
        "jvmArgs" : [
        ],
        "jdkVersion" : "13.0.2",
        "vmName" : "OpenJDK 64-Bit Server VM",
        "vmVersion" : "13.0.2+8",
        "warmupIterations" : 5,
        "warmupTime" : "10 s",
        "warmupBatchSize" : 1,
        "measurementIterations" : 5,
        "measurementTime" : "10 s",
        "measurementBatchSize" : 1,
        "primaryMetric" : {
            "score" : 7734723.236666491,
            "scoreError" : 58965.76109572583,
            "scoreConfidence" : [
                7675757.475570765,
                7793688.997762217
            ],
            "scorePercentiles" : {
                "0.0" : 7640983.193277311,
                "50.0" : 7726390.501930502,
                "90.0" : 7866361.040233994,
                "95.0" : 7946666.48617025,
                "99.0" : 7967621.815286624,
                "99.9" : 7967621.815286624,
                "99.99" : 7967621.815286624,
                "99.999" : 7967621.815286624,
                "99.9999" : 7967621.815286624,
                "100.0" : 7967621.815286624
            },
            "scoreUnit" : "ns/op",
            "rawData" : [
                [
                    7671978.390804598,
                    7764420.093095423,
                    7731981.93050193,
                    7647496.944232238,
                    7778968.298368298
                ],
                [
                    7735573.647604328,
                    7683502.225633155,
                    7689908.147578785,
                    7649444.495412844,
                    7704484.834488068
                ],
                [
                    7897770.718232044,
                    7704136.258660508,
                    7831853.719655442,
                    7729190.115830116,
                    7845421.2549019605
                ],
                [
                    7750621.611154144,
                    7689683.717357911,
                    7692234.511913912,
                    7728118.687258687,
                    7734218.4698608965
                ],
                [
                    7698181.01460415,
                    7967621.815286624,
                    7726390.501930502,
                    7640983.193277311,
                    7673896.319018405
                ]
            ]
        },
        "secondaryMetrics" : {
        }
    },
    {
        "jmhVersion" : "1.21",
        "benchmark" : "com.xenoamess.performance.StandardCharsetPerformanceTest.testUsingCharsetEmpty",
        "mode" : "avgt",
        "threads" : 1,
        "forks" : 5,
        "jvm" : "C:\\jdk-13.0.2+8\\bin\\java.exe",
        "jvmArgs" : [
        ],
        "jdkVersion" : "13.0.2",
        "vmName" : "OpenJDK 64-Bit Server VM",
        "vmVersion" : "13.0.2+8",
        "warmupIterations" : 5,
        "warmupTime" : "10 s",
        "warmupBatchSize" : 1,
        "measurementIterations" : 5,
        "measurementTime" : "10 s",
        "measurementBatchSize" : 1,
        "primaryMetric" : {
            "score" : 0.5202250700769002,
            "scoreError" : 0.007835725975108437,
            "scoreConfidence" : [
                0.5123893441017918,
                0.5280607960520086
            ],
            "scorePercentiles" : {
                "0.0" : 0.5080810212772847,
                "50.0" : 0.5166980505350911,
                "90.0" : 0.5379459883100286,
                "95.0" : 0.54473695606051,
                "99.0" : 0.5459822999357405,
                "99.9" : 0.5459822999357405,
                "99.99" : 0.5459822999357405,
                "99.999" : 0.5459822999357405,
                "99.9999" : 0.5459822999357405,
                "100.0" : 0.5459822999357405
            },
            "scoreUnit" : "ns/op",
            "rawData" : [
                [
                    0.5126498040905717,
                    0.5138597717341371,
                    0.516787168223145,
                    0.5166980505350911,
                    0.5134451803661904
                ],
                [
                    0.5312112750666923,
                    0.5284538330196172,
                    0.541831153684972,
                    0.5117685928875095,
                    0.514106817621644
                ],
                [
                    0.5131677301125835,
                    0.5109982673451321,
                    0.5149217970520602,
                    0.5122660789067016,
                    0.5111386914482998
                ],
                [
                    0.5080810212772847,
                    0.5097839236076224,
                    0.5255337547161781,
                    0.5221321065031893,
                    0.5176572811739782
                ],
                [
                    0.5217409727363291,
                    0.5219656983146059,
                    0.5340896035031604,
                    0.5353558780600662,
                    0.5459822999357405
                ]
            ]
        },
        "secondaryMetrics" : {
        }
    },
    {
        "jmhVersion" : "1.21",
        "benchmark" : "com.xenoamess.performance.StandardCharsetPerformanceTest.testUsingCharsetLong",
        "mode" : "avgt",
        "threads" : 1,
        "forks" : 5,
        "jvm" : "C:\\jdk-13.0.2+8\\bin\\java.exe",
        "jvmArgs" : [
        ],
        "jdkVersion" : "13.0.2",
        "vmName" : "OpenJDK 64-Bit Server VM",
        "vmVersion" : "13.0.2+8",
        "warmupIterations" : 5,
        "warmupTime" : "10 s",
        "warmupBatchSize" : 1,
        "measurementIterations" : 5,
        "measurementTime" : "10 s",
        "measurementBatchSize" : 1,
        "primaryMetric" : {
            "score" : 6259.458031528661,
            "scoreError" : 54.19039811310688,
            "scoreConfidence" : [
                6205.267633415554,
                6313.648429641768
            ],
            "scorePercentiles" : {
                "0.0" : 6182.136704925164,
                "50.0" : 6231.96637314035,
                "90.0" : 6403.524491554829,
                "95.0" : 6448.081273251267,
                "99.0" : 6449.079662098162,
                "99.9" : 6449.079662098162,
                "99.99" : 6449.079662098162,
                "99.999" : 6449.079662098162,
                "99.9999" : 6449.079662098162,
                "100.0" : 6449.079662098162
            },
            "scoreUnit" : "ns/op",
            "rawData" : [
                [
                    6327.312329980388,
                    6271.639382914389,
                    6263.619765471056,
                    6327.414118520965,
                    6445.751699275178
                ],
                [
                    6275.012657354284,
                    6375.373019741264,
                    6220.002484935081,
                    6201.200702378339,
                    6219.211212702788
                ],
                [
                    6225.655865638092,
                    6192.261896655255,
                    6231.113815174111,
                    6230.756638063944,
                    6256.2043097526075
                ],
                [
                    6449.079662098162,
                    6182.136704925164,
                    6232.598314274362,
                    6193.465481243419,
                    6220.796154864665
                ],
                [
                    6231.96637314035,
                    6237.5691351599,
                    6242.222075195178,
                    6204.213928565672,
                    6229.873060191908
                ]
            ]
        },
        "secondaryMetrics" : {
        }
    },
    {
        "jmhVersion" : "1.21",
        "benchmark" : "com.xenoamess.performance.StandardCharsetPerformanceTest.testUsingCharsetShort",
        "mode" : "avgt",
        "threads" : 1,
        "forks" : 5,
        "jvm" : "C:\\jdk-13.0.2+8\\bin\\java.exe",
        "jvmArgs" : [
        ],
        "jdkVersion" : "13.0.2",
        "vmName" : "OpenJDK 64-Bit Server VM",
        "vmVersion" : "13.0.2+8",
        "warmupIterations" : 5,
        "warmupTime" : "10 s",
        "warmupBatchSize" : 1,
        "measurementIterations" : 5,
        "measurementTime" : "10 s",
        "measurementBatchSize" : 1,
        "primaryMetric" : {
            "score" : 8.053463695314077,
            "scoreError" : 0.12270371834242051,
            "scoreConfidence" : [
                7.930759976971657,
                8.176167413656497
            ],
            "scorePercentiles" : {
                "0.0" : 7.858863488019369,
                "50.0" : 7.999340433106423,
                "90.0" : 8.35340002051558,
                "95.0" : 8.43420520923104,
                "99.0" : 8.460345109632888,
                "99.9" : 8.460345109632888,
                "99.99" : 8.460345109632888,
                "99.999" : 8.460345109632888,
                "99.9999" : 8.460345109632888,
                "100.0" : 8.460345109632888
            },
            "scoreUnit" : "ns/op",
            "rawData" : [
                [
                    7.969959158140377,
                    7.966943665767393,
                    7.909236014642398,
                    7.995475632736727,
                    8.018407951834437
                ],
                [
                    8.023481958218927,
                    8.340191961997036,
                    8.460345109632888,
                    8.304813260946025,
                    8.038052681229882
                ],
                [
                    7.858863488019369,
                    8.005680815811036,
                    7.937504805976601,
                    7.961906831414588,
                    8.085392712462223
                ],
                [
                    8.049836806472747,
                    7.950557405311344,
                    7.895167873564015,
                    7.9887054518430896,
                    8.024330244453019
                ],
                [
                    8.373212108293394,
                    7.925215542666629,
                    7.999340433106423,
                    7.95977837424478,
                    8.294192094066608
                ]
            ]
        },
        "secondaryMetrics" : {
        }
    },
    {
        "jmhVersion" : "1.21",
        "benchmark" : "com.xenoamess.performance.StandardCharsetPerformanceTest.testUsingStringEmpty",
        "mode" : "avgt",
        "threads" : 1,
        "forks" : 5,
        "jvm" : "C:\\jdk-13.0.2+8\\bin\\java.exe",
        "jvmArgs" : [
        ],
        "jdkVersion" : "13.0.2",
        "vmName" : "OpenJDK 64-Bit Server VM",
        "vmVersion" : "13.0.2+8",
        "warmupIterations" : 5,
        "warmupTime" : "10 s",
        "warmupBatchSize" : 1,
        "measurementIterations" : 5,
        "measurementTime" : "10 s",
        "measurementBatchSize" : 1,
        "primaryMetric" : {
            "score" : 7.9847638080618815,
            "scoreError" : 0.5881483784615439,
            "scoreConfidence" : [
                7.396615429600337,
                8.572912186523425
            ],
            "scorePercentiles" : {
                "0.0" : 7.454408740518999,
                "50.0" : 7.545270000110895,
                "90.0" : 9.470694818226923,
                "95.0" : 9.497845232822238,
                "99.0" : 9.505476643264554,
                "99.9" : 9.505476643264554,
                "99.99" : 9.505476643264554,
                "99.999" : 9.505476643264554,
                "99.9999" : 9.505476643264554,
                "100.0" : 9.505476643264554
            },
            "scoreUnit" : "ns/op",
            "rawData" : [
                [
                    7.454408740518999,
                    7.507635763866313,
                    7.509252678822653,
                    7.559837896711965,
                    7.4943129233514405
                ],
                [
                    7.524205304558843,
                    7.531297010745888,
                    7.579498975518051,
                    7.4788671593620695,
                    7.545270000110895
                ],
                [
                    7.496099800052837,
                    7.53122255913589,
                    7.531820065004984,
                    7.45789583944176,
                    7.457661506459595
                ],
                [
                    8.546688343552288,
                    8.360735643916037,
                    7.583207033926562,
                    7.733667676316845,
                    7.5586120618563015
                ],
                [
                    9.464465624740313,
                    9.480038608456836,
                    9.34559746830417,
                    9.381319873550957,
                    9.505476643264554
                ]
            ]
        },
        "secondaryMetrics" : {
        }
    },
    {
        "jmhVersion" : "1.21",
        "benchmark" : "com.xenoamess.performance.StandardCharsetPerformanceTest.testUsingStringLong",
        "mode" : "avgt",
        "threads" : 1,
        "forks" : 5,
        "jvm" : "C:\\jdk-13.0.2+8\\bin\\java.exe",
        "jvmArgs" : [
        ],
        "jdkVersion" : "13.0.2",
        "vmName" : "OpenJDK 64-Bit Server VM",
        "vmVersion" : "13.0.2+8",
        "warmupIterations" : 5,
        "warmupTime" : "10 s",
        "warmupBatchSize" : 1,
        "measurementIterations" : 5,
        "measurementTime" : "10 s",
        "measurementBatchSize" : 1,
        "primaryMetric" : {
            "score" : 6280.165016456578,
            "scoreError" : 63.46615906438755,
            "scoreConfidence" : [
                6216.698857392191,
                6343.631175520965
            ],
            "scorePercentiles" : {
                "0.0" : 6210.446521932043,
                "50.0" : 6241.037319415892,
                "90.0" : 6464.3727472721075,
                "95.0" : 6500.461728080414,
                "99.0" : 6503.958394410638,
                "99.9" : 6503.958394410638,
                "99.99" : 6503.958394410638,
                "99.999" : 6503.958394410638,
                "99.9999" : 6503.958394410638,
                "100.0" : 6503.958394410638
            },
            "scoreUnit" : "ns/op",
            "rawData" : [
                [
                    6210.446521932043,
                    6299.280770702625,
                    6296.457699276845,
                    6222.051656495747,
                    6241.037319415892
                ],
                [
                    6238.115745663184,
                    6231.187812126234,
                    6503.958394410638,
                    6445.7526854691405,
                    6492.302839976559
                ],
                [
                    6288.698370803287,
                    6222.601782091922,
                    6227.9292034957425,
                    6255.684373972498,
                    6270.166359174187
                ],
                [
                    6219.650206272987,
                    6233.819417695989,
                    6255.994112816009,
                    6240.036172547669,
                    6282.639050748898
                ],
                [
                    6274.718394229261,
                    6219.19247595138,
                    6223.773527130963,
                    6225.920523542804,
                    6382.709995471968
                ]
            ]
        },
        "secondaryMetrics" : {
        }
    },
    {
        "jmhVersion" : "1.21",
        "benchmark" : "com.xenoamess.performance.StandardCharsetPerformanceTest.testUsingStringShort",
        "mode" : "avgt",
        "threads" : 1,
        "forks" : 5,
        "jvm" : "C:\\jdk-13.0.2+8\\bin\\java.exe",
        "jvmArgs" : [
        ],
        "jdkVersion" : "13.0.2",
        "vmName" : "OpenJDK 64-Bit Server VM",
        "vmVersion" : "13.0.2+8",
        "warmupIterations" : 5,
        "warmupTime" : "10 s",
        "warmupBatchSize" : 1,
        "measurementIterations" : 5,
        "measurementTime" : "10 s",
        "measurementBatchSize" : 1,
        "primaryMetric" : {
            "score" : 14.326991478523304,
            "scoreError" : 0.18189257142464416,
            "scoreConfidence" : [
                14.14509890709866,
                14.508884049947948
            ],
            "scorePercentiles" : {
                "0.0" : 14.004707210075662,
                "50.0" : 14.241826799652419,
                "90.0" : 14.781374512877335,
                "95.0" : 14.888020530531984,
                "99.0" : 14.920795950114895,
                "99.9" : 14.920795950114895,
                "99.99" : 14.920795950114895,
                "99.999" : 14.920795950114895,
                "99.9999" : 14.920795950114895,
                "100.0" : 14.920795950114895
            },
            "scoreUnit" : "ns/op",
            "rawData" : [
                [
                    14.099600639888177,
                    14.228738035198557,
                    14.379667351865681,
                    14.193626468137364,
                    14.385536429148587
                ],
                [
                    14.1694326787846,
                    14.289563613639833,
                    14.29679789568528,
                    14.14863302412294,
                    14.140669740900714
                ],
                [
                    14.419904055142215,
                    14.547738693613523,
                    14.234497332050466,
                    14.32193908579649,
                    14.387992582238413
                ],
                [
                    14.920795950114895,
                    14.811544551505188,
                    14.668646067141278,
                    14.15453820951693,
                    14.004707210075662
                ],
                [
                    14.189297656807756,
                    14.761261153792098,
                    14.072752951951923,
                    14.105078786311646,
                    14.241826799652419
                ]
            ]
        },
        "secondaryMetrics" : {
        }
    }
]

@XenoAmess
Copy link
Contributor Author

the original codes works like fill01_0, and I just changed them to something like what in fill01_7

@XenoAmess XenoAmess changed the title refine some codes dealing with filling an array with its first and second elements. [MATH-1538] refine some codes dealing with filling an array with its first and second elements. Jun 6, 2020
@coveralls
Copy link

Coverage Status

Coverage increased (+0.0005%) to 90.556% when pulling 33f3324 on XenoAmess:refine_some_codes_dealing_with_filling_an_array_with_its_first_and_second_elements into ba8a267 on apache:master.

@@ -1497,11 +1497,11 @@ public void cosh(final double[] operand, final int operandOffset,

// create the function value and derivatives
double[] function = new double[1 + order];
function[0] = FastMath.cosh(operand[operandOffset]);
final double function0 = function[0] = FastMath.cosh(operand[operandOffset]);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

final is useless, and not the code style for these files

Copy link
Contributor Author

@XenoAmess XenoAmess Jun 7, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@efge

final is useless

Yep, if you think it that way.

and not the code style for these files

There is final for local variable for class FieldDenseMatrix , TricubicInterpolator , UnivariatePeriodicInterpolator , FieldDenseMatrix , SobolSequenceGenerator, GeometryExample, and several test classes.
So I think the final I used is not outside of "the code style for these files", thus no need to change.
Or if I mis-understand something, please tell me.
Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants