DiskBoss is optimized for modern multi-core and multi-CPU systems and is capable of analyzing multiple disks, directories
or network shares in parallel using all CPUs installed in the computer. DiskBoss provides a number of different performance
optimization options allowing one to tune the disk space analysis operations for user-specific hardware and storage configurations.
In order to customize the disk space analysis performance optimization options, open the disk space analysis operation dialog,
press the 'Options' button and select the 'Advanced' tab. The 'Dir Scan Threads' option controls how many parallel disk space
analysis threads are used to scan input disks, directories and network shares. In the 'Fault-Tolerant' directory scanning mode,
DiskBoss uses an individual processing thread for each input disk, directory or network share, but limits the maximum number of
parallel scanning threads to the specified value. In the high-performance directory scanning mode, DiskBoss always uses the specified
number of parallel directory scanning threads even when processing a single input disk, directory or network share.
For example, when analyzing files stored on a high-speed NVMe SSD disk, DiskBoss reaches up to 72,000 files/sec using a single
disk space analysis thread. With two parallel analysis threads, the performance scales up to 113,000 files/sec and with four
parallel analysis threads, the performance increases up to 172,000 files/sec showing a very good level of multi-threaded performance
scalability. With six processing threads the analysis performance reaches up to 208,000 files/sec and with eight processing threads
the performance increases up to 225,000 files/sec, which makes it possible to analyze 10 millions files within one minute.
When analyzing files stored on regular SATA SSD drives, which are significantly slower then NVMe SSD drives, the performance of the
disk space analysis process reaches up to 26,000 files/sec using a single processing thread and scales up to 73,000 files/sec with
four parallel analysis threads. With eight parallel analysis threads, the performance reaches up to 113,000 files/sec, which allows
to analyze huge numbers of files relatively fast.
Analyzing files stored on NAS storage devices via a network is more complicated because the user needs to take into account the speed
and the latency of the network. If the computer, on which DiskBoss is installed, is connected to the NAS storage device via a high-speed,
low-latency network, the performance of the disk space analysis operations may reach up to 13,000 files/sec with one processing thread,
scale up to 48,000 files/sec with four parallel processing threads and increase up to 81,000 files/sec with eight parallel analysis threads.
On the other hand, if DiskBoss will need to access network shares via the Internet or via a long-distance, high-latency network, the performance
of the disk space analysis operations will be relatively slow. One of the options to increase the performance of the analysis operations in such
configurations is to set the 'High-Performance' directory scanning mode and increase the number of parallel directory scanning threads to 16 or
even 32 disregarding how many CPUs are actually installed on the computer.
Modern USB flash drives provide plenty of the storage space and are reasonably fast allowing one to store vast amounts of data for backup purposes.
Sometimes, it may be required to analyze a USB flash drive in order to free the used disk space. When analyzing files stored on a USB flash drive,
DiskBoss can reach up to 9,000 files/sec with a single disk space analysis thread. With two parallel disk space analysis threads, the performance
increases up to 11,000 files/sec, which is good, but more than two parallel analysis threads improve the performance of the disk space analysis
operations very slightly.
Today, modern IT environments widely deploy virtual servers and/or virtual workstations. Most of the popular virtualization platforms provide
a high level of performance, but anyway some performance degradations are inevitable when a task is executed on a guest virtual machine compared
to the same task executed directly on the host computer.
For example, when a virtual machine with 4 virtual CPUs is stored on an NVMe SSD disk and analyzing files stored on a virtual local disk drive,
which is physically stored on the same NVMe SSD disk, the performance of the disk space analysis operations reaches up to 22,000 files/sec using
one disk space analysis thread. With two parallel analysis threads, the performance of the analysis operations increases up to 29,000 files/sec
and with four parallel analysis threads, the performance of the disk space analysis operations scales up to 41,000 files.