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

View File

@ -1,7 +1,7 @@
package ru.dbotthepony.kstarbound.defs
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.TypeAdapter
import com.google.gson.TypeAdapterFactory

View File

@ -1,6 +1,6 @@
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.JsonObject
import com.google.gson.TypeAdapter

View File

@ -1,6 +1,5 @@
package ru.dbotthepony.kstarbound.defs
import com.google.common.collect.Interners
import com.google.gson.Gson
import com.google.gson.JsonSyntaxException
import com.google.gson.TypeAdapter
@ -11,11 +10,7 @@ import com.google.gson.stream.JsonToken
import com.google.gson.stream.JsonWriter
import it.unimi.dsi.fastutil.objects.Reference2ObjectArrayMap
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.util.concurrent.ConcurrentHashMap
import java.util.function.Supplier
class RegistryReferenceFactory : TypeAdapterFactory {

View File

@ -1,6 +1,6 @@
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.JsonElement
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.ImmutableSet
import com.google.common.collect.Interner
import com.github.benmanes.caffeine.cache.Interner
import com.google.gson.Gson
import com.google.gson.JsonObject
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.ImmutableMap
import com.google.common.collect.Interner
import com.github.benmanes.caffeine.cache.Interner
import com.google.gson.Gson
import com.google.gson.JsonArray
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.ImmutableMap
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.TypeAdapter
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.ImmutableMap
import com.google.common.collect.Interner
import com.github.benmanes.caffeine.cache.Interner
import com.google.gson.JsonSyntaxException
import com.google.gson.TypeAdapter
import com.google.gson.stream.JsonReader

View File

@ -1,6 +1,6 @@
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.JsonElement
import com.google.gson.JsonNull

View File

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

View File

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