From 4e0ec923dd1e16313c88db2e10d2b2397c95ab08 Mon Sep 17 00:00:00 2001 From: Martin Lippert Date: Sat, 5 Apr 2025 19:32:50 +0200 Subject: [PATCH] fix performance issue when removing projects with lots of symbols from workspace --- .../ide/vscode/boot/app/SpringSymbolIndex.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/SpringSymbolIndex.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/SpringSymbolIndex.java index e41319b4f..4960b3d79 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/SpringSymbolIndex.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/SpringSymbolIndex.java @@ -1121,9 +1121,9 @@ public class SpringSymbolIndex implements InitializingBean, SpringIndex { List oldSymbols = symbolsByProject.remove(project.getElementName()); if (oldSymbols != null) { - List copy = null; + Set copy = null; synchronized(oldSymbols) { - copy = new ArrayList<>(oldSymbols); + copy = new HashSet<>(oldSymbols); // use HashSet here in order to speed up removal of symbols from global list } synchronized(this.symbols) {