All Posts by Date or last 15, 30, 90 or 180 days.
also by Lloyd: diglloyd.com photography and WindInMyFace.com

Thank you for buying via links and ads on this site,
which earn me advertising fees or commissions.
As an Amazon Associate I earn from qualifying purchases.

Other World Computing...
B&H Photo...
Amazon
As an Amazon Associate I earn from qualifying purchases.
Upgrade the memory of your 2018 Mac mini up to 64GB
877-865-7002
Today’s Deal Zone Items... Handpicked deals...
$217 $217
SAVE $click

$348 $298
SAVE $50

$899 $799
SAVE $100

$899 $769
SAVE $130

$597 $497
SAVE $100

$2597 $2397
SAVE $200

$3498 $2998
SAVE $500

$1798 $1298
SAVE $500

$148 $138
SAVE $10

$80 $30
SAVE $50

$600 $600
SAVE $click

$240 $175
SAVE $65

$663 $463
SAVE $200

$400 $270
SAVE $130

$1645 $1345
SAVE $300

$2106 $1476
SAVE $630

$1699 $949
SAVE $750

$1199 $1099
SAVE $100

$1199 $1099
SAVE $100

$999 $949
SAVE $50

$400 $270
SAVE $130

$1699 $949
SAVE $750

diglloydTools IntegrityChecker Java: Optimizing Performance on Hard Drives (macOS)

re: data integrity and diglloydTools and IntegrityChecker Java
re: diglloydTools IntegrityChecker Java: Optimizing Performance on Hard Drives
re: Optimizing Performance by Working Around macOS Caching Performance Bugs

Optimal thread and buffer configurations are wildly different for optimal performance on an SSD versus a hard drive. Worse, macOS also has a sporadic 30.000 second hang bug on hard drives with too many I/O requests outstanding.

While IntegrityChecker Java (icj) optimizes its threads and buffers to the extent it can, a reliable way to always detect the type of volume (hard drive or SSD or RAID, etc) is not available.

Seeing the info for a volume

On macOS, use 'diskutil' to view information on whether a volume is an SSD or hard drive.

diskutil info "volumeName"

IntegrityChecker Java queries this information, but it is sometimes unavailable. Examples include RAID volumes, external enclosures that do not convey the drive info, etc.

Optimizing IntegrityChecker Java for hard drives

If the volume information is available, all is well. Otherwise, icj defaults to SSD optimizations. But optimizing for SSD results in significantly impaired performance for hard drives, up to 40% slower.

Also, more outstanding I/O requests on hard drives can sporadically trigger a macOS file system bug that stalls all I/O for 30.000 seconds (icj warns when this happens and resumes execution). Yes, years later after Tim Cook’s promises about a focus on software quality, macOS Big Sur still has many bugs in it.

For icj update or icj verify on a hard-drive-based volume lacking that info as per above, insert the --optimize option like this:

# 'target' is a volume or folder, etc (or more than one).
icj update --optimize HDD target
icj verify --optimize HDD target


Deals Updated Daily at B&H Photo
View all handpicked deals...

Sony WH-1000XM4 Wireless Noise-Canceling Over-Ear Headphones (Black)
$348 $298
SAVE $50

diglloyd.com | Terms of Use | PRIVACY POLICY
Contact | About Lloyd Chambers | Consulting | Photo Tours
Mailing Lists | RSS Feeds | Twitter
Copyright © 2020 diglloyd Inc, all rights reserved.
Display info: __RETINA_INFO_STATUS__