Вместо Interner от guava используется Interner от Caffeine

This commit is contained in:
DBotThePony 2023-03-29 13:02:28 +07:00
parent 82955b51dd
commit 22b384b2a5
Signed by: DBot
GPG Key ID: DCC23B5715498507
12 changed files with 15 additions and 20 deletions

View File

@ -2,8 +2,7 @@ package ru.dbotthepony.kstarbound
import com.github.benmanes.caffeine.cache.Cache import com.github.benmanes.caffeine.cache.Cache
import com.github.benmanes.caffeine.cache.Caffeine import com.github.benmanes.caffeine.cache.Caffeine
import com.google.common.collect.Interner import com.github.benmanes.caffeine.cache.Interner
import com.google.common.collect.Interners
import com.google.gson.* import com.google.gson.*
import com.google.gson.internal.bind.JsonTreeReader import com.google.gson.internal.bind.JsonTreeReader
import it.unimi.dsi.fastutil.objects.Object2ObjectFunction import it.unimi.dsi.fastutil.objects.Object2ObjectFunction
@ -796,11 +795,12 @@ class Starbound : ISBFileLocator {
/** /**
* Глобальный [Interner] для [String] * Глобальный [Interner] для [String]
* *
* Так как нет смысла иметь множество [Interner]'ов для потенциального "больше одного" [Starbound], * Так как нет смысла иметь множество [Interner]'ов для [String],
* а так же в силу его поточной безопасности,
* данный [Interner] доступен глобально * данный [Interner] доступен глобально
*/ */
@JvmField @JvmField
val STRINGS: Interner<String> = Interners.newBuilder().weak().concurrencyLevel(8).build() val STRINGS: Interner<String> = Interner.newWeakInterner()
private val polyfill by lazy { loadInternalScript("polyfill") } private val polyfill by lazy { loadInternalScript("polyfill") }
} }

View File

@ -1,7 +1,7 @@
package ru.dbotthepony.kstarbound.defs package ru.dbotthepony.kstarbound.defs
import com.google.common.collect.ImmutableMap import com.google.common.collect.ImmutableMap
import com.google.common.collect.Interner import com.github.benmanes.caffeine.cache.Interner
import com.google.gson.Gson import com.google.gson.Gson
import com.google.gson.TypeAdapter import com.google.gson.TypeAdapter
import com.google.gson.TypeAdapterFactory import com.google.gson.TypeAdapterFactory

View File

@ -1,6 +1,6 @@
package ru.dbotthepony.kstarbound.defs package ru.dbotthepony.kstarbound.defs
import com.google.common.collect.Interner import com.github.benmanes.caffeine.cache.Interner
import com.google.gson.Gson import com.google.gson.Gson
import com.google.gson.JsonObject import com.google.gson.JsonObject
import com.google.gson.TypeAdapter import com.google.gson.TypeAdapter

View File

@ -1,6 +1,5 @@
package ru.dbotthepony.kstarbound.defs package ru.dbotthepony.kstarbound.defs
import com.google.common.collect.Interners
import com.google.gson.Gson import com.google.gson.Gson
import com.google.gson.JsonSyntaxException import com.google.gson.JsonSyntaxException
import com.google.gson.TypeAdapter import com.google.gson.TypeAdapter
@ -11,11 +10,7 @@ import com.google.gson.stream.JsonToken
import com.google.gson.stream.JsonWriter import com.google.gson.stream.JsonWriter
import it.unimi.dsi.fastutil.objects.Reference2ObjectArrayMap import it.unimi.dsi.fastutil.objects.Reference2ObjectArrayMap
import ru.dbotthepony.kstarbound.RegistryObject import ru.dbotthepony.kstarbound.RegistryObject
import java.lang.ref.Reference
import java.lang.ref.ReferenceQueue
import java.lang.ref.WeakReference
import java.lang.reflect.ParameterizedType import java.lang.reflect.ParameterizedType
import java.util.concurrent.ConcurrentHashMap
import java.util.function.Supplier import java.util.function.Supplier
class RegistryReferenceFactory : TypeAdapterFactory { class RegistryReferenceFactory : TypeAdapterFactory {

View File

@ -1,6 +1,6 @@
package ru.dbotthepony.kstarbound.io.json package ru.dbotthepony.kstarbound.io.json
import com.google.common.collect.Interner import com.github.benmanes.caffeine.cache.Interner
import com.google.gson.JsonArray import com.google.gson.JsonArray
import com.google.gson.JsonElement import com.google.gson.JsonElement
import com.google.gson.JsonNull import com.google.gson.JsonNull

View File

@ -2,7 +2,7 @@ package ru.dbotthepony.kstarbound.io.json.builder
import com.google.common.collect.ImmutableMap import com.google.common.collect.ImmutableMap
import com.google.common.collect.ImmutableSet import com.google.common.collect.ImmutableSet
import com.google.common.collect.Interner import com.github.benmanes.caffeine.cache.Interner
import com.google.gson.Gson import com.google.gson.Gson
import com.google.gson.JsonObject import com.google.gson.JsonObject
import com.google.gson.JsonSyntaxException import com.google.gson.JsonSyntaxException

View File

@ -2,7 +2,7 @@ package ru.dbotthepony.kstarbound.io.json.builder
import com.google.common.collect.ImmutableList import com.google.common.collect.ImmutableList
import com.google.common.collect.ImmutableMap import com.google.common.collect.ImmutableMap
import com.google.common.collect.Interner import com.github.benmanes.caffeine.cache.Interner
import com.google.gson.Gson import com.google.gson.Gson
import com.google.gson.JsonArray import com.google.gson.JsonArray
import com.google.gson.JsonObject import com.google.gson.JsonObject

View File

@ -3,7 +3,7 @@ package ru.dbotthepony.kstarbound.io.json.factory
import com.google.common.collect.ImmutableList import com.google.common.collect.ImmutableList
import com.google.common.collect.ImmutableMap import com.google.common.collect.ImmutableMap
import com.google.common.collect.ImmutableSet import com.google.common.collect.ImmutableSet
import com.google.common.collect.Interner import com.github.benmanes.caffeine.cache.Interner
import com.google.gson.Gson import com.google.gson.Gson
import com.google.gson.TypeAdapter import com.google.gson.TypeAdapter
import com.google.gson.TypeAdapterFactory import com.google.gson.TypeAdapterFactory

View File

@ -2,7 +2,7 @@ package ru.dbotthepony.kstarbound.io.json.factory
import com.google.common.collect.ImmutableList import com.google.common.collect.ImmutableList
import com.google.common.collect.ImmutableMap import com.google.common.collect.ImmutableMap
import com.google.common.collect.Interner import com.github.benmanes.caffeine.cache.Interner
import com.google.gson.JsonSyntaxException import com.google.gson.JsonSyntaxException
import com.google.gson.TypeAdapter import com.google.gson.TypeAdapter
import com.google.gson.stream.JsonReader import com.google.gson.stream.JsonReader

View File

@ -1,6 +1,6 @@
package ru.dbotthepony.kstarbound.lua package ru.dbotthepony.kstarbound.lua
import com.google.common.collect.Interner import com.github.benmanes.caffeine.cache.Interner
import com.google.gson.JsonArray import com.google.gson.JsonArray
import com.google.gson.JsonElement import com.google.gson.JsonElement
import com.google.gson.JsonNull import com.google.gson.JsonNull

View File

@ -1,6 +1,6 @@
package ru.dbotthepony.kstarbound.util package ru.dbotthepony.kstarbound.util
import com.google.common.collect.Interner import com.github.benmanes.caffeine.cache.Interner
import kotlin.concurrent.getOrSet import kotlin.concurrent.getOrSet
class PathStack(private val interner: Interner<String> = Interner { it }) { class PathStack(private val interner: Interner<String> = Interner { it }) {

View File

@ -1,9 +1,9 @@
package ru.dbotthepony.kstarbound.util package ru.dbotthepony.kstarbound.util
import com.github.benmanes.caffeine.cache.Interner
import com.google.common.collect.ImmutableList import com.google.common.collect.ImmutableList
import com.google.common.collect.ImmutableMap import com.google.common.collect.ImmutableMap
import com.google.common.collect.ImmutableSet import com.google.common.collect.ImmutableSet
import com.google.common.collect.Interners
import com.google.gson.Gson import com.google.gson.Gson
import com.google.gson.TypeAdapter import com.google.gson.TypeAdapter
import com.google.gson.TypeAdapterFactory import com.google.gson.TypeAdapterFactory
@ -115,7 +115,7 @@ class SBPattern private constructor(
} }
companion object : TypeAdapterFactory { companion object : TypeAdapterFactory {
private val interner = Interners.newWeakInterner<SBPattern>() private val interner: Interner<SBPattern> = Interner.newWeakInterner()
@JvmField @JvmField
val EMPTY = raw("") val EMPTY = raw("")