summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar modmuss502018-07-22 23:38:02 +0100
committerGravatar modmuss502018-07-22 23:38:02 +0100
commit714c0297c2e4e389ac52c6378b590b77c7058594 (patch)
tree37293b3c8d365306c28cb976381822867935050e
parentFixed setBridged resetting the viability (diff)
downloadenigma-714c0297c2e4e389ac52c6378b590b77c7058594.tar.gz
enigma-714c0297c2e4e389ac52c6378b590b77c7058594.tar.xz
enigma-714c0297c2e4e389ac52c6378b590b77c7058594.zip
Make rebuildMethodNames use parallelStream's should improve the speed a lot
let me know if it breaks anything
-rw-r--r--src/main/java/cuchaz/enigma/Deobfuscator.java20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/main/java/cuchaz/enigma/Deobfuscator.java b/src/main/java/cuchaz/enigma/Deobfuscator.java
index 5b210110..599387e5 100644
--- a/src/main/java/cuchaz/enigma/Deobfuscator.java
+++ b/src/main/java/cuchaz/enigma/Deobfuscator.java
@@ -340,28 +340,28 @@ public class Deobfuscator {
340 } 340 }
341 341
342 public void rebuildMethodNames(ProgressListener progress) { 342 public void rebuildMethodNames(ProgressListener progress) {
343 int i = 0; 343 final AtomicInteger i = new AtomicInteger();
344 Map<ClassMapping, Map<Entry, String>> renameClassMap = new HashMap<>(); 344 Map<ClassMapping, Map<Entry, String>> renameClassMap = new HashMap<>();
345 345
346 progress.init(getMappings().classes().size() * 3, "Rebuilding method names"); 346 progress.init(getMappings().classes().size() * 3, "Rebuilding method names");
347 347
348 for (ClassMapping classMapping : Lists.newArrayList(getMappings().classes())) { 348 Lists.newArrayList(getMappings().classes()).parallelStream().forEach(classMapping -> {
349 progress.onProgress(i++, classMapping.getDeobfName()); 349 progress.onProgress(i.getAndIncrement(), classMapping.getDeobfName());
350 rebuildMethodNames(classMapping, renameClassMap); 350 rebuildMethodNames(classMapping, renameClassMap);
351 } 351 });
352 352
353 for (Map.Entry<ClassMapping, Map<Entry, String>> renameClassMapEntry : renameClassMap.entrySet()) {
354 progress.onProgress(i++, renameClassMapEntry.getKey().getDeobfName());
355 353
354 renameClassMap.entrySet().parallelStream().forEach(renameClassMapEntry -> {
355 progress.onProgress(i.getAndIncrement(), renameClassMapEntry.getKey().getDeobfName());
356 for (Map.Entry<Entry, String> entry : renameClassMapEntry.getValue().entrySet()) { 356 for (Map.Entry<Entry, String> entry : renameClassMapEntry.getValue().entrySet()) {
357 Entry obfEntry = entry.getKey(); 357 Entry obfEntry = entry.getKey();
358 358
359 removeMapping(obfEntry); 359 removeMapping(obfEntry);
360 } 360 }
361 } 361 });
362 362
363 for (Map.Entry<ClassMapping, Map<Entry, String>> renameClassMapEntry : renameClassMap.entrySet()) { 363 renameClassMap.entrySet().parallelStream().forEach(renameClassMapEntry -> {
364 progress.onProgress(i++, renameClassMapEntry.getKey().getDeobfName()); 364 progress.onProgress(i.getAndIncrement(), renameClassMapEntry.getKey().getDeobfName());
365 365
366 for (Map.Entry<Entry, String> entry : renameClassMapEntry.getValue().entrySet()) { 366 for (Map.Entry<Entry, String> entry : renameClassMapEntry.getValue().entrySet()) {
367 Entry obfEntry = entry.getKey(); 367 Entry obfEntry = entry.getKey();
@@ -373,7 +373,7 @@ public class Deobfuscator {
373 System.out.println("WARNING: " + exception.getMessage()); 373 System.out.println("WARNING: " + exception.getMessage());
374 } 374 }
375 } 375 }
376 } 376 });
377 } 377 }
378 378
379 private void rebuildMethodNames(ClassMapping classMapping, Map<ClassMapping, Map<Entry, String>> renameClassMap) { 379 private void rebuildMethodNames(ClassMapping classMapping, Map<ClassMapping, Map<Entry, String>> renameClassMap) {