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/net/fabricmc/loom/configuration/providers | |
| 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/net/fabricmc/loom/configuration/providers')
| -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(); | 
