dolphin/Source/Core/DiscIO
JosJuice c0eb95481f VolumeVerifier: Align partition reads to groups
This improves the speed of verifying Wii WIA/RVZ files.
For me, the verification speed for LZMA2-compressed files
has gone from 11-12 MiB/s to 13-14 MiB/s.

One thing VolumeVerifier does to achieve parallelism is to
compute hashes for one chunk of data while reading the next
chunk of data. In master, when reading data from a Wii
partition, each such chunk is 32 KiB. This is normally fine,
but with WIA and RVZ it leads to rather lopsided read times
(without the compute times being lopsided): The first 32 KiB
of each 2 MiB takes a long time to read, and the remaining
part of the 2 MiB can be read nearly instantly. (The WIA/RVZ
code has to read the entire 2 MiB in order to compute hashes
which appear at the beginning of the 2 MiB, and then caches
the result afterwards.) This leads to us at times not doing
much reading and at other times not doing much computation.
To improve this, this change makes us use 2 MiB chunks
instead of 32 KiB chunks when reading from Wii partitions.

(block = 32 KiB, group = 2 MiB)
2021-03-22 21:07:01 +01:00
..
Blob.cpp rename Common/File to Common/IOFile 2021-01-27 14:29:48 -08:00
Blob.h DiscIO: Use std::function for compression callback 2020-09-16 18:36:50 +02:00
CISOBlob.cpp rename Common/File to Common/IOFile 2021-01-27 14:29:48 -08:00
CISOBlob.h rename Common/File to Common/IOFile 2021-01-27 14:29:48 -08:00
CMakeLists.txt DiscIO: Move some code from DiscExtractor to new file DiscUtils 2021-03-09 20:34:24 +01:00
CompressedBlob.cpp Avoid using panic alerts in DiscIO 2021-03-20 12:58:54 +01:00
CompressedBlob.h rename Common/File to Common/IOFile 2021-01-27 14:29:48 -08:00
DirectoryBlob.cpp DiscIO: Move magic constants for discs to DiscUtils 2021-03-10 00:16:37 +01:00
DirectoryBlob.h DiscIO: Add parameters to BlobReader::SupportsReadWiiDecrypted 2020-08-29 15:18:52 +02:00
DiscExtractor.cpp DiscIO: Move some code from DiscExtractor to new file DiscUtils 2021-03-09 20:34:24 +01:00
DiscExtractor.h DiscIO: Move some code from DiscExtractor to new file DiscUtils 2021-03-09 20:34:24 +01:00
DiscScrubber.cpp DiscIO: Move some code from DiscExtractor to new file DiscUtils 2021-03-09 20:34:24 +01:00
DiscScrubber.h DiscIO: Move scrubbing code out of ConvertToGCZ 2020-04-24 15:11:20 +02:00
DiscUtils.cpp DiscIO: Move magic constants for discs to DiscUtils 2021-03-10 00:16:37 +01:00
DiscUtils.h DiscIO: Move magic constants for discs to DiscUtils 2021-03-10 00:16:37 +01:00
DriveBlob.cpp Avoid using panic alerts in DiscIO 2021-03-20 12:58:54 +01:00
DriveBlob.h rename Common/File to Common/IOFile 2021-01-27 14:29:48 -08:00
Enums.cpp DiscIO: Migrate logging over to fmt 2020-10-22 15:41:42 -04:00
Enums.h Also override the SYSCONF country setting 2019-08-09 17:33:05 +02:00
FileBlob.cpp Use positional arguments in all translatable fmt strings 2020-11-16 13:28:11 +01:00
FileBlob.h rename Common/File to Common/IOFile 2021-01-27 14:29:48 -08:00
FileSystemGCWii.cpp DiscIO: Move magic constants for discs to DiscUtils 2021-03-10 00:16:37 +01:00
FileSystemGCWii.h DiscIO: Fix recursive directory extraction 2020-12-03 21:13:53 +01:00
Filesystem.cpp Qt/FilesystemWidget: Add size column 2018-06-02 18:59:56 +02:00
Filesystem.h DiscIO: Fix recursive directory extraction 2020-12-03 21:13:53 +01:00
LaggedFibonacciGenerator.cpp RVZ: Store pseudorandom junk data efficiently 2020-06-17 13:48:42 +02:00
LaggedFibonacciGenerator.h RVZ: Store pseudorandom junk data efficiently 2020-06-17 13:48:42 +02:00
MultithreadedCompressor.h DiscIO: Implement multithreaded compression 2020-05-06 14:18:51 +02:00
NANDImporter.cpp rename Common/File to Common/IOFile 2021-01-27 14:29:48 -08:00
NANDImporter.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
ScrubbedBlob.cpp DiscIO: Deduplicate some VolumeGC/VolumeWii code 2020-06-25 16:37:21 +02:00
ScrubbedBlob.h Show file format details in game properties 2020-06-21 20:47:23 +02:00
TGCBlob.cpp rename Common/File to Common/IOFile 2021-01-27 14:29:48 -08:00
TGCBlob.h rename Common/File to Common/IOFile 2021-01-27 14:29:48 -08:00
Volume.cpp DiscIO: Move magic constants for discs to DiscUtils 2021-03-10 00:16:37 +01:00
Volume.h VolumeVerifier: Align partition reads to groups 2021-03-22 21:07:01 +01:00
VolumeDisc.cpp DiscIO: Move some code from DiscExtractor to new file DiscUtils 2021-03-09 20:34:24 +01:00
VolumeDisc.h Make netplay's "same game" check more robust 2020-08-02 22:46:53 +02:00
VolumeFileBlobReader.cpp Show file format details in game properties 2020-06-21 20:47:23 +02:00
VolumeFileBlobReader.h Show file format details in game properties 2020-06-21 20:47:23 +02:00
VolumeGC.cpp DiscIO: Move some code from DiscExtractor to new file DiscUtils 2021-03-09 20:34:24 +01:00
VolumeGC.h Make netplay's "same game" check more robust 2020-08-02 22:46:53 +02:00
VolumeVerifier.cpp VolumeVerifier: Align partition reads to groups 2021-03-22 21:07:01 +01:00
VolumeVerifier.h VolumeVerifier: Align partition reads to groups 2021-03-22 21:07:01 +01:00
VolumeWad.cpp DiscIO: Migrate logging over to fmt 2020-10-22 15:41:42 -04:00
VolumeWad.h Make netplay's "same game" check more robust 2020-08-02 22:46:53 +02:00
VolumeWii.cpp VolumeVerifier: Align partition reads to groups 2021-03-22 21:07:01 +01:00
VolumeWii.h VolumeVerifier: Align partition reads to groups 2021-03-22 21:07:01 +01:00
WIABlob.cpp Merge pull request #9570 from JosJuice/wia-partial-exception-list 2021-03-16 11:10:12 +01:00
WIABlob.h DiscIO: Fix reading certain WIA chunks with many exceptions 2021-03-07 14:14:45 +01:00
WIACompression.cpp Source/Core/DiscIO/WIACompression.cpp: add missing <limits> include 2020-10-15 19:56:53 +01:00
WIACompression.h DiscIO: Decrease RAM usage during zstd compression 2020-10-07 16:40:06 +02:00
WbfsBlob.cpp Avoid using panic alerts in DiscIO 2021-03-20 12:58:54 +01:00
WbfsBlob.h rename Common/File to Common/IOFile 2021-01-27 14:29:48 -08:00
WiiEncryptionCache.cpp DiscIO: Make WiiEncryptionCache moveable 2020-10-20 11:33:38 +02:00
WiiEncryptionCache.h DiscIO: Make WiiEncryptionCache moveable 2020-10-20 11:33:38 +02:00
WiiSaveBanner.cpp rename Common/File to Common/IOFile 2021-01-27 14:29:48 -08:00
WiiSaveBanner.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00