From 050d5f43fd2091337318b684b4069ec93d815de6 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 8 Sep 2016 21:29:16 -0700 Subject: [PATCH] [SabreTools] Use UpdateParallel by default --- SabreTools/Partials/SabreTools_Inits.cs | 31 ++++++++++++++----------- SabreTools/SabreTools.cs | 2 +- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/SabreTools/Partials/SabreTools_Inits.cs b/SabreTools/Partials/SabreTools_Inits.cs index f5207cef..47aa048e 100644 --- a/SabreTools/Partials/SabreTools_Inits.cs +++ b/SabreTools/Partials/SabreTools_Inits.cs @@ -135,6 +135,8 @@ namespace SabreTools /// True to clean the game names to WoD standard, false otherwise (default) /// True to allow SL DATs to have game names used instead of descriptions, false otherwise (default) /// True to dedupe the roms in the DAT, false otherwise (default) + /// /* Multithreading info */ + /// Integer representing the maximum amount of parallelization to be used private static void InitUpdate(List inputs, /* Normal DAT header info */ string filename, @@ -200,7 +202,10 @@ namespace SabreTools string outdir, bool clean, bool softlist, - bool dedup) + bool dedup, + + /* Multithreading info */ + int maxDegreeOfParallelism) { // Set the special flags ForceMerging fm = ForceMerging.None; @@ -321,37 +326,37 @@ namespace SabreTools if (outputCMP) { userInputDat.OutputFormat = OutputFormat.ClrMamePro; - DatTools.Update(inputs, userInputDat, outdir, merge, diff, cascade, inplace, skip, bare, clean, softlist, - gamename, romname, romtype, sgt, slt, seq, crc, md5, sha1, nodump, trim, single, root, _logger); + DatTools.UpdateParallel(inputs, userInputDat, outdir, merge, diff, cascade, inplace, skip, bare, clean, softlist, + gamename, romname, romtype, sgt, slt, seq, crc, md5, sha1, nodump, trim, single, root, maxDegreeOfParallelism, _logger); } if (outputMiss || tsv != null) { userInputDat.OutputFormat = OutputFormat.MissFile; - DatTools.Update(inputs, userInputDat, outdir, merge, diff, cascade, inplace, skip, bare, clean, softlist, - gamename, romname, romtype, sgt, slt, seq, crc, md5, sha1, nodump, trim, single, root, _logger); + DatTools.UpdateParallel(inputs, userInputDat, outdir, merge, diff, cascade, inplace, skip, bare, clean, softlist, + gamename, romname, romtype, sgt, slt, seq, crc, md5, sha1, nodump, trim, single, root, maxDegreeOfParallelism, _logger); } if (outputRC) { userInputDat.OutputFormat = OutputFormat.RomCenter; - DatTools.Update(inputs, userInputDat, outdir, merge, diff, cascade, inplace, skip, bare, clean, softlist, - gamename, romname, romtype, sgt, slt, seq, crc, md5, sha1, nodump, trim, single, root, _logger); + DatTools.UpdateParallel(inputs, userInputDat, outdir, merge, diff, cascade, inplace, skip, bare, clean, softlist, + gamename, romname, romtype, sgt, slt, seq, crc, md5, sha1, nodump, trim, single, root, maxDegreeOfParallelism, _logger); } if (outputSD) { userInputDat.OutputFormat = OutputFormat.SabreDat; - DatTools.Update(inputs, userInputDat, outdir, merge, diff, cascade, inplace, skip, bare, clean, softlist, - gamename, romname, romtype, sgt, slt, seq, crc, md5, sha1, nodump, trim, single, root, _logger); + DatTools.UpdateParallel(inputs, userInputDat, outdir, merge, diff, cascade, inplace, skip, bare, clean, softlist, + gamename, romname, romtype, sgt, slt, seq, crc, md5, sha1, nodump, trim, single, root, maxDegreeOfParallelism, _logger); } if (outputXML) { userInputDat.OutputFormat = OutputFormat.Xml; - DatTools.Update(inputs, userInputDat, outdir, merge, diff, cascade, inplace, skip, bare, clean, softlist, - gamename, romname, romtype, sgt, slt, seq, crc, md5, sha1, nodump, trim, single, root, _logger); + DatTools.UpdateParallel(inputs, userInputDat, outdir, merge, diff, cascade, inplace, skip, bare, clean, softlist, + gamename, romname, romtype, sgt, slt, seq, crc, md5, sha1, nodump, trim, single, root, maxDegreeOfParallelism, _logger); } if (!outputCMP && !(outputMiss || tsv != null) && !outputRC && !outputSD && !outputXML) { - DatTools.Update(inputs, userInputDat, outdir, merge, diff, cascade, inplace, skip, bare, clean, softlist, - gamename, romname, romtype, sgt, slt, seq, crc, md5, sha1, nodump, trim, single, root, _logger); + DatTools.UpdateParallel(inputs, userInputDat, outdir, merge, diff, cascade, inplace, skip, bare, clean, softlist, + gamename, romname, romtype, sgt, slt, seq, crc, md5, sha1, nodump, trim, single, root, maxDegreeOfParallelism, _logger); } } diff --git a/SabreTools/SabreTools.cs b/SabreTools/SabreTools.cs index a6c5b8bf..d818a151 100644 --- a/SabreTools/SabreTools.cs +++ b/SabreTools/SabreTools.cs @@ -675,7 +675,7 @@ namespace SabreTools InitUpdate(inputs, filename, name, description, rootdir, category, version, date, author, email, homepage, url, comment, header, superdat, forcemerge, forcend, forcepack, outputCMP, outputMiss, outputRC, outputSD, outputXML, usegame, prefix, postfix, quotes, repext, addext, datprefix, romba, tsv, merge, diff, cascade, inplace, skip, bare, gamename, romname, - romtype, sgt, slt, seq, crc, md5, sha1, nodump, trim, single, root, outdir, clean, softlist, dedup); + romtype, sgt, slt, seq, crc, md5, sha1, nodump, trim, single, root, outdir, clean, softlist, dedup, maxParallelism); } // Add a source or system