diff options
author | Duarte Meneses <duarte.meneses@sonarsource.com> | 2019-07-30 14:17:16 -0500 |
---|---|---|
committer | SonarTech <sonartech@sonarsource.com> | 2019-09-04 20:21:05 +0200 |
commit | a16d96bc3672ba63be6c88f40dbdf857b52a8c4e (patch) | |
tree | 15b996efab0c6c8fa633d1a6d13095b92922b7e2 /server | |
parent | f0f1986388884dbadab590bd03b33720a669f0d9 (diff) | |
download | sonarqube-a16d96bc3672ba63be6c88f40dbdf857b52a8c4e.tar.gz sonarqube-a16d96bc3672ba63be6c88f40dbdf857b52a8c4e.zip |
Use Trove for memory efficient Map
Diffstat (limited to 'server')
4 files changed, 7 insertions, 10 deletions
diff --git a/server/sonar-ce-task-projectanalysis/build.gradle b/server/sonar-ce-task-projectanalysis/build.gradle index 97914e8b00b..5cfdd62a4d6 100644 --- a/server/sonar-ce-task-projectanalysis/build.gradle +++ b/server/sonar-ce-task-projectanalysis/build.gradle @@ -19,7 +19,7 @@ dependencies { compile 'org.slf4j:jul-to-slf4j' compile 'org.slf4j:slf4j-api' - + compile 'net.sf.trove4j:core:3.1.0' compile 'commons-codec:commons-codec' compile 'commons-io:commons-io' compile 'commons-lang:commons-lang' @@ -30,8 +30,7 @@ dependencies { compile 'com.googlecode.java-diff-utils:diffutils' compile 'org.mybatis:mybatis' compile 'org.picocontainer:picocontainer' - compile 'com.github.vlsi.compactmap:compactmap:1.3.0' - + compile project(':sonar-core') compile project(':server:sonar-ce-task') compile project(':server:sonar-db-migration') diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/MapBasedRawMeasureRepository.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/MapBasedRawMeasureRepository.java index 0aed2b16ddc..b86e55b5b68 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/MapBasedRawMeasureRepository.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/MapBasedRawMeasureRepository.java @@ -21,6 +21,7 @@ package org.sonar.ce.task.projectanalysis.measure; import com.google.common.collect.ImmutableSetMultimap; import com.google.common.collect.SetMultimap; +import gnu.trove.map.hash.THashMap; import java.util.Collections; import java.util.Map; import java.util.Optional; @@ -28,7 +29,6 @@ import java.util.Set; import java.util.function.Function; import org.sonar.ce.task.projectanalysis.component.Component; import org.sonar.ce.task.projectanalysis.metric.Metric; -import vlsi.utils.CompactHashMap; import static com.google.common.base.Preconditions.checkArgument; import static java.lang.String.format; @@ -40,7 +40,7 @@ import static java.util.Objects.requireNonNull; */ public final class MapBasedRawMeasureRepository<T> implements MeasureRepository { private final Function<Component, T> componentToKey; - private final Map<T, Map<String, Measure>> measures = new CompactHashMap<>(); + private final Map<T, Map<String, Measure>> measures = new THashMap<>(); public MapBasedRawMeasureRepository(Function<Component, T> componentToKey) { this.componentToKey = requireNonNull(componentToKey); @@ -141,7 +141,7 @@ public final class MapBasedRawMeasureRepository<T> implements MeasureRepository requireNonNull(overridePolicy); T componentKey = componentToKey.apply(component); - Map<String, Measure> measuresPerMetric = measures.computeIfAbsent(componentKey, key -> new CompactHashMap<>()); + Map<String, Measure> measuresPerMetric = measures.computeIfAbsent(componentKey, key -> new THashMap<>()); if (!measuresPerMetric.containsKey(metric.getKey()) || overridePolicy == OverridePolicy.OVERRIDE) { measuresPerMetric.put(metric.getKey(), measure); } diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/MeasureToMeasureDto.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/MeasureToMeasureDto.java index 316920eea2a..d9b6abb9fdf 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/MeasureToMeasureDto.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/MeasureToMeasureDto.java @@ -25,9 +25,7 @@ import org.sonar.ce.task.projectanalysis.metric.Metric; import org.sonar.db.measure.LiveMeasureDto; import org.sonar.db.measure.MeasureDto; import org.sonar.ce.task.projectanalysis.analysis.AnalysisMetadataHolder; -import org.sonar.ce.task.projectanalysis.component.Component; import org.sonar.ce.task.projectanalysis.component.TreeRootHolder; -import org.sonar.ce.task.projectanalysis.metric.Metric; public class MeasureToMeasureDto { diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/scm/ScmInfoRepositoryImpl.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/scm/ScmInfoRepositoryImpl.java index 858a0e2f4b8..5de605b9547 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/scm/ScmInfoRepositoryImpl.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/scm/ScmInfoRepositoryImpl.java @@ -20,6 +20,7 @@ package org.sonar.ce.task.projectanalysis.scm; import java.util.Arrays; +import java.util.HashMap; import java.util.Map; import java.util.Optional; import org.sonar.api.utils.log.Logger; @@ -31,7 +32,6 @@ import org.sonar.ce.task.projectanalysis.component.Component.Status; import org.sonar.ce.task.projectanalysis.source.SourceHashRepository; import org.sonar.ce.task.projectanalysis.source.SourceLinesDiff; import org.sonar.scanner.protocol.output.ScannerReport; -import vlsi.utils.CompactHashMap; import static java.util.Objects.requireNonNull; @@ -40,7 +40,7 @@ public class ScmInfoRepositoryImpl implements ScmInfoRepository { private static final Logger LOGGER = Loggers.get(ScmInfoRepositoryImpl.class); private final BatchReportReader scannerReportReader; - private final Map<Component, Optional<ScmInfo>> scmInfoCache = new CompactHashMap<>(); + private final Map<Component, Optional<ScmInfo>> scmInfoCache = new HashMap<>(); private final ScmInfoDbLoader scmInfoDbLoader; private final AnalysisMetadataHolder analysisMetadata; private final SourceLinesDiff sourceLinesDiff; |