diff options
author | shedaniel <daniel@shedaniel.me> | 2021-01-19 09:58:06 +0800 |
---|---|---|
committer | shedaniel <daniel@shedaniel.me> | 2021-01-19 09:58:06 +0800 |
commit | 34d3475790b2ab58121b3670855ecb3d6b702169 (patch) | |
tree | 95020af5283a97b534f8ffdf8954a0beb84682ed /src/main/java | |
parent | 9d1a2b1da1aa6977086de92a23a286332017655c (diff) | |
download | architectury-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.java | 9 |
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(); |