USE_CAFFEINE_INTERNER compilation flag
This commit is contained in:
parent
278f66d892
commit
8c731366af
@ -64,7 +64,18 @@ object Starbound : ISBFileLocator {
|
|||||||
const val PROTOCOL_VERSION = 1
|
const val PROTOCOL_VERSION = 1
|
||||||
const val TICK_TIME_ADVANCE = 1.0 / 60.0
|
const val TICK_TIME_ADVANCE = 1.0 / 60.0
|
||||||
const val TICK_TIME_ADVANCE_NANOS = 16_666_666L
|
const val TICK_TIME_ADVANCE_NANOS = 16_666_666L
|
||||||
|
|
||||||
|
// compile flags. uuuugh
|
||||||
const val DEDUP_CELL_STATES = true
|
const val DEDUP_CELL_STATES = true
|
||||||
|
const val USE_CAFFEINE_INTERNER = false
|
||||||
|
|
||||||
|
fun <E : Any> interner(): Interner<E> {
|
||||||
|
return if (USE_CAFFEINE_INTERNER) Interner.newWeakInterner() else HashTableInterner()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun <E : Any> interner(bits: Int): Interner<E> {
|
||||||
|
return if (USE_CAFFEINE_INTERNER) Interner.newWeakInterner() else HashTableInterner(bits)
|
||||||
|
}
|
||||||
|
|
||||||
val thread = Thread(::universeThread, "Starbound Universe")
|
val thread = Thread(::universeThread, "Starbound Universe")
|
||||||
val mailbox = MailboxExecutorService(thread)
|
val mailbox = MailboxExecutorService(thread)
|
||||||
@ -87,7 +98,7 @@ object Starbound : ISBFileLocator {
|
|||||||
// Hrm.
|
// Hrm.
|
||||||
// val strings: Interner<String> = Interner.newWeakInterner()
|
// val strings: Interner<String> = Interner.newWeakInterner()
|
||||||
// val strings: Interner<String> = Interner { it }
|
// val strings: Interner<String> = Interner { it }
|
||||||
val STRINGS: Interner<String> = HashTableInterner(5)
|
val STRINGS: Interner<String> = interner(5)
|
||||||
|
|
||||||
private val LOGGER = LogManager.getLogger()
|
private val LOGGER = LogManager.getLogger()
|
||||||
|
|
||||||
|
@ -152,7 +152,7 @@ class SBPattern private constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
companion object : TypeAdapterFactory {
|
companion object : TypeAdapterFactory {
|
||||||
private val interner: Interner<SBPattern> = HashTableInterner(5)
|
private val interner: Interner<SBPattern> = Starbound.interner(5)
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val EMPTY = raw("")
|
val EMPTY = raw("")
|
||||||
|
@ -43,7 +43,7 @@ sealed class AbstractCell {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
protected val POOL: Interner<ImmutableCell> = if (Starbound.DEDUP_CELL_STATES) HashTableInterner() else Interner { it }
|
protected val POOL: Interner<ImmutableCell> = if (Starbound.DEDUP_CELL_STATES) Starbound.interner() else Interner { it }
|
||||||
|
|
||||||
val EMPTY: ImmutableCell = POOL.intern(ImmutableCell(AbstractTileState.EMPTY, AbstractTileState.EMPTY, AbstractLiquidState.EMPTY, 0, 0, 0, false))
|
val EMPTY: ImmutableCell = POOL.intern(ImmutableCell(AbstractTileState.EMPTY, AbstractTileState.EMPTY, AbstractLiquidState.EMPTY, 0, 0, 0, false))
|
||||||
val NULL: ImmutableCell = POOL.intern(ImmutableCell(AbstractTileState.NULL, AbstractTileState.NULL, AbstractLiquidState.EMPTY, 0, 0, 0, false))
|
val NULL: ImmutableCell = POOL.intern(ImmutableCell(AbstractTileState.NULL, AbstractTileState.NULL, AbstractLiquidState.EMPTY, 0, 0, 0, false))
|
||||||
|
@ -30,7 +30,7 @@ sealed class AbstractLiquidState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
protected val POOL: Interner<ImmutableLiquidState> = if (Starbound.DEDUP_CELL_STATES) HashTableInterner() else Interner { it }
|
protected val POOL: Interner<ImmutableLiquidState> = if (Starbound.DEDUP_CELL_STATES) Starbound.interner() else Interner { it }
|
||||||
|
|
||||||
val EMPTY: ImmutableLiquidState = POOL.intern(ImmutableLiquidState())
|
val EMPTY: ImmutableLiquidState = POOL.intern(ImmutableLiquidState())
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@ sealed class AbstractTileState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
protected val POOL: Interner<ImmutableTileState> = if (Starbound.DEDUP_CELL_STATES) HashTableInterner() else Interner { it }
|
protected val POOL: Interner<ImmutableTileState> = if (Starbound.DEDUP_CELL_STATES) Starbound.interner() else Interner { it }
|
||||||
|
|
||||||
val EMPTY: ImmutableTileState = POOL.intern(ImmutableTileState(BuiltinMetaMaterials.EMPTY))
|
val EMPTY: ImmutableTileState = POOL.intern(ImmutableTileState(BuiltinMetaMaterials.EMPTY))
|
||||||
val NULL: ImmutableTileState = POOL.intern(ImmutableTileState(BuiltinMetaMaterials.NULL))
|
val NULL: ImmutableTileState = POOL.intern(ImmutableTileState(BuiltinMetaMaterials.NULL))
|
||||||
|
Loading…
Reference in New Issue
Block a user