From 763c47c3b32ded40f88e1602e57eabacb2c3829a Mon Sep 17 00:00:00 2001 From: zeromus Date: Wed, 8 Jul 2015 02:56:59 -0500 Subject: [PATCH] make discohawk a/b comparer run big batches faster --- BizHawk.Client.DiscoHawk/DiscoHawk.cs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/BizHawk.Client.DiscoHawk/DiscoHawk.cs b/BizHawk.Client.DiscoHawk/DiscoHawk.cs index e788189bb0..2381738691 100644 --- a/BizHawk.Client.DiscoHawk/DiscoHawk.cs +++ b/BizHawk.Client.DiscoHawk/DiscoHawk.cs @@ -186,7 +186,7 @@ namespace BizHawk.Client.DiscoHawk class DiscoHawk { - static List FindExtensionsRecurse(string dir, string extUppercaseWithDot) + static List FindCuesRecurse(string dir) { List ret = new List(); Queue dpTodo = new Queue(); @@ -197,12 +197,10 @@ namespace BizHawk.Client.DiscoHawk if (dpTodo.Count == 0) break; dpCurr = dpTodo.Dequeue(); - Parallel.ForEach(new DirectoryInfo(dpCurr).GetFiles(), (fi) => + foreach(var fi in new DirectoryInfo(dpCurr).GetFiles("*.cue")) { - if (fi.Extension.ToUpperInvariant() == extUppercaseWithDot) - lock(ret) - ret.Add(fi.FullName); - }); + ret.Add(fi.FullName); + } Parallel.ForEach(new DirectoryInfo(dpCurr).GetDirectories(), (di) => { lock(dpTodo) @@ -264,7 +262,7 @@ namespace BizHawk.Client.DiscoHawk if (scanCues) { verbose = false; - var todo = FindExtensionsRecurse(dirArg, ".CUE"); + var todo = FindCuesRecurse(dirArg); var po = new ParallelOptions(); var cts = new CancellationTokenSource(); po.CancellationToken = cts.Token;