Java: cache class name for better inference performance

GitOrigin-RevId: 3f498927ef9124974bc2d3ad0574a9327da5ea51
This commit is contained in:
Bas Leijdekkers
2025-06-30 16:55:17 +02:00
committed by intellij-monorepo-bot
parent 565f7b3a1c
commit 8b4e7829cb
3 changed files with 230 additions and 31 deletions

View File

@@ -0,0 +1,218 @@
interface Map<K, V> {
@SafeVarargs
@SuppressWarnings("varargs")
static <K, V> Map<K, V> ofEntries(Entry<? extends K, ? extends V>... entries) {
return null;
}
static <K, V> Entry<K, V> entry(K k, V v) {
return null;
}
interface Entry<K, V> {}
}
class Performance {
private static final Map<String, String> translation = Map.ofEntries(
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg"),
Map.entry("a","b"),
Map.entry("c","b"),
Map.entry("d","b"),
Map.entry("e","f"),
Map.entry("g","gg")
);
}