Skip to content

Instantly share code, notes, and snippets.

@isopov
isopov / ListOfBenchmark.java
Created May 30, 2023 08:45
eclipse collections megamorphic calls benchmark
package io.github.isopov.jmh;
import org.eclipse.collections.api.list.ImmutableList;
import org.eclipse.collections.impl.factory.Lists;
import org.openjdk.jmh.annotations.*;
import org.openjdk.jmh.runner.Runner;
import org.openjdk.jmh.runner.RunnerException;
import org.openjdk.jmh.runner.options.Options;
import org.openjdk.jmh.runner.options.OptionsBuilder;
@isopov
isopov / LoomTest.java
Last active May 29, 2022 11:03
Loom non time sharing test
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.concurrent.*;
public class LoomTest {
public static void main(String[] args) throws ExecutionException, InterruptedException {
long platform = 0;
long loom = 0;
for (int i = 0; i < 5; i++) {

Future.cancel() return value was pretty consistent before CompletableFuture

ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
Future<Void> foo = executor.submit(() -> {
    try {
        Thread.sleep(TimeUnit.DAYS.toMillis(1));
    } catch (InterruptedException e) {
        //ignore
    }
    return null;
@isopov
isopov / FinalAutowiredApplication.java
Created November 19, 2017 12:10
Autowired on initialized final field
package com.example.finalautowired;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
@SpringBootApplication
public class FinalAutowiredApplication {
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.concurrent.Callable;
import static java.util.Arrays.asList;
/**
* @author isopov
Benchmark (intern) (size) Mode Cnt Score Error Units
PerfInternCache.parseJson true 100 avgt 25 5.582 ± 0.092 us/op
PerfInternCache.parseJson:·gc.alloc.rate true 100 avgt 25 76.578 ± 1.262 MB/sec
PerfInternCache.parseJson:·gc.alloc.rate.norm true 100 avgt 25 448.001 ± 0.001 B/op
PerfInternCache.parseJson:·gc.churn.PS_Eden_Space true 100 avgt 25 76.267 ± 4.881 MB/sec
PerfInternCache.parseJson:·gc.churn.PS_Eden_Space.norm true 100 avgt 25 446.030 ± 26.011 B/op
PerfInternCache.parseJson:·gc.churn.PS_Survivor_Space true 100 avgt 25 0.030 ± 0.007 MB/sec
PerfInternCache.parseJson:·gc.churn.PS_Survivor_Space.norm true 100 avgt 25 0.178 ± 0.041 B/op
PerfInternCache.parseJson:·gc.count
Benchmark (intern) (size) Mode Cnt Score Error Units
PerfInternCache.parseJson true 100 avgt 15 5.400 ± 0.165 us/op
PerfInternCache.parseJson:·gc.alloc.rate true 100 avgt 15 79.168 ± 2.424 MB/sec
PerfInternCache.parseJson:·gc.alloc.rate.norm true 100 avgt 15 448.005 ± 0.001 B/op
PerfInternCache.parseJson:·gc.churn.PS_Eden_Space true 100 avgt 15 77.642 ± 33.800 MB/sec
PerfInternCache.parseJson:·gc.churn.PS_Eden_Space.norm true 100 avgt 15 439.214 ± 192.078 B/op
PerfInternCache.parseJson:·gc.churn.PS_Survivor_Space true 100 avgt 15 0.339 ± 0.718 MB/sec
PerfInternCache.parseJson:·gc.churn.PS_Survivor_Space.norm true 100 avgt 15 1.919 ± 4.056 B/op
PerfInternCache.parseJson:·gc.co
import java.util.concurrent.TimeUnit;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
import org.openjdk.jmh.annotations.Fork;
import org.openjdk.jmh.annotations.Measurement;
import org.openjdk.jmh.annotations.Mode;
import org.openjdk.jmh.annotations.OutputTimeUnit;
import org.openjdk.jmh.annotations.Param;
import org.openjdk.jmh.annotations.Scope;
import java.util.concurrent.TimeUnit;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
import org.openjdk.jmh.annotations.Fork;
import org.openjdk.jmh.annotations.Measurement;
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.lang.reflect.Field;
import java.util.concurrent.TimeUnit;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
import org.openjdk.jmh.annotations.Fork;
import org.openjdk.jmh.annotations.Measurement;
import org.openjdk.jmh.annotations.Mode;
import org.openjdk.jmh.annotations.OutputTimeUnit;