aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-01-19 09:58:06 +0800
committershedaniel <daniel@shedaniel.me>2021-01-19 09:58:06 +0800
commit34d3475790b2ab58121b3670855ecb3d6b702169 (patch)
tree95020af5283a97b534f8ffdf8954a0beb84682ed /src/main/java
parent9d1a2b1da1aa6977086de92a23a286332017655c (diff)
downloadarchitectury-loom-34d3475790b2ab58121b3670855ecb3d6b702169.tar.gz
architectury-loom-34d3475790b2ab58121b3670855ecb3d6b702169.tar.bz2
architectury-loom-34d3475790b2ab58121b3670855ecb3d6b702169.zip
Multi-thread assets checking, saving 500ms here.
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/providers/minecraft/assets/MinecraftAssetsProvider.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/assets/MinecraftAssetsProvider.java b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/assets/MinecraftAssetsProvider.java
index 7b1ff144..cbb17f95 100644
--- a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/assets/MinecraftAssetsProvider.java
+++ b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/assets/MinecraftAssetsProvider.java
@@ -35,6 +35,7 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
+import com.google.common.base.Stopwatch;
import com.google.gson.Gson;
import org.gradle.api.GradleException;
import org.gradle.api.Project;
@@ -91,9 +92,11 @@ public class MinecraftAssetsProvider {
index = new Gson().fromJson(fileReader, AssetIndex.class);
}
+ Stopwatch stopwatch = Stopwatch.createStarted();
+
Map<String, AssetObject> parent = index.getFileMap();
- for (Map.Entry<String, AssetObject> entry : parent.entrySet()) {
+ parent.entrySet().parallelStream().forEach(entry -> {
AssetObject object = entry.getValue();
String sha1 = object.getHash();
String filename = "objects" + File.separator + sha1.substring(0, 2) + File.separator + sha1;
@@ -140,7 +143,9 @@ public class MinecraftAssetsProvider {
});
}
}
- }
+ });
+
+ project.getLogger().info("Took " + stopwatch.stop() + " to iterate " + parent.size() + " asset index.");
//Wait for the assets to all download
executor.shutdown();