experimental compact storage for JPS Cache (part 5 - store OutputToTargetMapping)

GitOrigin-RevId: 36feec030cee2cbd5554a4fc0a3b80dd74ea764c
This commit is contained in:
Vladimir Krivosheev
2024-09-17 08:16:38 +02:00
committed by intellij-monorepo-bot
parent 3b63b96418
commit db3b4f7162
26 changed files with 778 additions and 427 deletions

View File

@@ -420,6 +420,7 @@ f:com.intellij.util.containers.CollectionFactory
- s:createCustomHashingStrategySet(com.intellij.util.containers.HashingStrategy):java.util.Set
- s:createFilePathLinkedMap():java.util.Map
- s:createFilePathLinkedSet():java.util.Set
- s:createFilePathLinkedSet(java.util.Set):java.util.Set
- s:createFilePathMap():java.util.Map
- s:createFilePathMap(I):java.util.Map
- s:createFilePathMap(I,Z):java.util.Map

View File

@@ -279,17 +279,22 @@ public final class CollectionFactory {
public static @NotNull Set<String> createFilePathLinkedSet() {
return SystemInfoRt.isFileSystemCaseSensitive
? new ObjectLinkedOpenHashSet<>()
? new LinkedHashSet<>()
: new ObjectLinkedOpenCustomHashSet<>(FastUtilHashingStrategies.getCaseInsensitiveStringStrategy());
}
public static @NotNull Set<String> createFilePathLinkedSet(@NotNull Set<String> source) {
return SystemInfoRt.isFileSystemCaseSensitive
? new LinkedHashSet<>(source)
: new ObjectLinkedOpenCustomHashSet<>(source, FastUtilHashingStrategies.getCaseInsensitiveStringStrategy());
}
/**
* Create a linked map with key hash strategy according to file system path case sensitivity.
*/
public static @NotNull <V> Map<String, V> createFilePathLinkedMap() {
//noinspection SSBasedInspection
return SystemInfoRt.isFileSystemCaseSensitive
? new Object2ObjectLinkedOpenHashMap<>()
? new LinkedHashMap<>()
: new Object2ObjectLinkedOpenCustomHashMap<>(FastUtilHashingStrategies.getCaseInsensitiveStringStrategy());
}