From 714c0297c2e4e389ac52c6378b590b77c7058594 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Sun, 22 Jul 2018 23:38:02 +0100 Subject: Make rebuildMethodNames use parallelStream's should improve the speed a lot let me know if it breaks anything --- src/main/java/cuchaz/enigma/Deobfuscator.java | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'src/main/java/cuchaz/enigma') diff --git a/src/main/java/cuchaz/enigma/Deobfuscator.java b/src/main/java/cuchaz/enigma/Deobfuscator.java index 5b21011..599387e 100644 --- a/src/main/java/cuchaz/enigma/Deobfuscator.java +++ b/src/main/java/cuchaz/enigma/Deobfuscator.java @@ -340,28 +340,28 @@ public class Deobfuscator { } public void rebuildMethodNames(ProgressListener progress) { - int i = 0; + final AtomicInteger i = new AtomicInteger(); Map> renameClassMap = new HashMap<>(); progress.init(getMappings().classes().size() * 3, "Rebuilding method names"); - for (ClassMapping classMapping : Lists.newArrayList(getMappings().classes())) { - progress.onProgress(i++, classMapping.getDeobfName()); + Lists.newArrayList(getMappings().classes()).parallelStream().forEach(classMapping -> { + progress.onProgress(i.getAndIncrement(), classMapping.getDeobfName()); rebuildMethodNames(classMapping, renameClassMap); - } + }); - for (Map.Entry> renameClassMapEntry : renameClassMap.entrySet()) { - progress.onProgress(i++, renameClassMapEntry.getKey().getDeobfName()); + renameClassMap.entrySet().parallelStream().forEach(renameClassMapEntry -> { + progress.onProgress(i.getAndIncrement(), renameClassMapEntry.getKey().getDeobfName()); for (Map.Entry entry : renameClassMapEntry.getValue().entrySet()) { Entry obfEntry = entry.getKey(); removeMapping(obfEntry); } - } + }); - for (Map.Entry> renameClassMapEntry : renameClassMap.entrySet()) { - progress.onProgress(i++, renameClassMapEntry.getKey().getDeobfName()); + renameClassMap.entrySet().parallelStream().forEach(renameClassMapEntry -> { + progress.onProgress(i.getAndIncrement(), renameClassMapEntry.getKey().getDeobfName()); for (Map.Entry entry : renameClassMapEntry.getValue().entrySet()) { Entry obfEntry = entry.getKey(); @@ -373,7 +373,7 @@ public class Deobfuscator { System.out.println("WARNING: " + exception.getMessage()); } } - } + }); } private void rebuildMethodNames(ClassMapping classMapping, Map> renameClassMap) { -- cgit v1.2.3