mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-14 18:05:27 +07:00
[starter] Don't use linked set since we don't need order
The change saves about 400Mb on 2Gb JSON in heap GitOrigin-RevId: 0a4c1831b1a8f163e3e12616e835baaa5d38249e
This commit is contained in:
committed by
intellij-monorepo-bot
parent
c4fed1b70a
commit
b70d71eda2
@@ -5,7 +5,7 @@ package com.intellij.tools.ide.metrics.collector.telemetry
|
||||
import com.intellij.tools.ide.util.common.PrintFailuresMode
|
||||
import com.intellij.tools.ide.util.common.withRetryBlocking
|
||||
import it.unimi.dsi.fastutil.objects.Object2ObjectFunction
|
||||
import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap
|
||||
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap
|
||||
import it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet
|
||||
import kotlinx.serialization.KSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
@@ -133,12 +133,12 @@ open class OpentelemetrySpanJsonParser(private val spanFilter: SpanFilter) {
|
||||
return jsonData
|
||||
}
|
||||
|
||||
private fun getParentToSpanMap(spans: List<SpanData>): Object2ObjectLinkedOpenHashMap<String, MutableSet<SpanData>> {
|
||||
val indexParentToChild = Object2ObjectLinkedOpenHashMap<String, MutableSet<SpanData>>()
|
||||
private fun getParentToSpanMap(spans: List<SpanData>): Object2ObjectOpenHashMap<String, ArrayList<SpanData>> {
|
||||
val indexParentToChild = Object2ObjectOpenHashMap<String, ArrayList<SpanData>>()
|
||||
for (span in spans) {
|
||||
val parentSpanId = span.getParentSpanId()
|
||||
if (parentSpanId != null) {
|
||||
indexParentToChild.computeIfAbsent(parentSpanId, Object2ObjectFunction { ObjectLinkedOpenHashSet() }).add(span)
|
||||
indexParentToChild.computeIfAbsent(parentSpanId, Object2ObjectFunction { ArrayList(5) }).add(span)
|
||||
}
|
||||
}
|
||||
return indexParentToChild
|
||||
|
||||
Reference in New Issue
Block a user