@@ -0,0 +1,2346 @@
+/*%0A * Java Genetic Algorithm Library (@__identifier__@).%0A * Copyright (c) @__year__@ Franz Wilhelmst%C3%B6tter%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *      http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A *%0A * Author:%0A *    Franz Wilhelmst%C3%B6tter (franz.wilhelmstoetter@gmx.at)%0A */%0Apackage org.jenetics.util;%0A%0Aimport java.util.concurrent.ThreadLocalRandom;%0Aimport java.util.concurrent.TimeUnit;%0A%0Aimport org.openjdk.jmh.annotations.Benchmark;%0Aimport org.openjdk.jmh.annotations.BenchmarkMode;%0Aimport org.openjdk.jmh.annotations.Mode;%0Aimport org.openjdk.jmh.annotations.OutputTimeUnit;%0Aimport org.openjdk.jmh.annotations.Scope;%0Aimport org.openjdk.jmh.annotations.State;%0Aimport org.openjdk.jmh.runner.Runner;%0Aimport org.openjdk.jmh.runner.RunnerException;%0Aimport org.openjdk.jmh.runner.options.Options;%0Aimport org.openjdk.jmh.runner.options.OptionsBuilder;%0A%0A/**%0A * @author %3Ca href=%22mailto:franz.wilhelmstoetter@gmx.at%22%3EFranz Wilhelmst%C3%B6tter%3C/a%3E%0A * @version 3.0 &mdash; %3Cem%3E$Date: 2014-07-14 $%3C/em%3E%0A * @since 3.0%0A */%0A@State(Scope.Benchmark)%0A@BenchmarkMode(Mode.AverageTime)%0A@OutputTimeUnit(TimeUnit.NANOSECONDS)%0Apublic class SeqPerf %7B%0A%0A%09private final int index = ThreadLocalRandom.current().nextInt(1000);%0A%0A%09private final Integer%5B%5D array = new Integer%5B1000%5D;%0A%09%7B%0A%09%09for (int i = 0; i %3C array.length; ++i) %7B%0A%09%09%09array%5Bi%5D = i;%0A%09%09%7D%0A%09%7D%0A%09private final MSeq%3CInteger%3E seq = MSeq.ofLength(1000);%0A%09%7B%0A%09%09for (int i = 0; i %3C seq.length(); ++i) %7B%0A%09%09%09seq.set(i, i);%0A%09%09%7D%0A%09%7D%0A%0A%09@Benchmark%0A%09public Integer getFromArray() %7B%0A%09%09return array%5Bindex%5D;%0A%09%7D%0A%0A%09@Benchmark%0A%09public Integer getFromSeq() %7B%0A%09%09return seq.get(index);%0A%09%7D%0A%0A%09public static void main(String%5B%5D args) throws RunnerException %7B%0A%09%09final Options opt = new OptionsBuilder()%0A%09%09%09.include(%22.*%22 + SeqPerf.class.getSimpleName() + %22.*%22)%0A%09%09%09.warmupIterations(3)%0A%09%09%09.measurementIterations(5)%0A%09%09%09.threads(1)%0A%09%09%09.forks(1)%0A%09%09%09.build();%0A%0A%09%09new Runner(opt).run();%0A%09%7D%0A%0A%7D%0A

Add performance test for Seq implementation.