While Opus makes use of multiple threads for off-loading tasks into a separate thread, it does not always use multiple threads for performing a a specific task (eg. multi-threaded: directory scanning, folder deletion, comparison (for Sync tool), FTP upload/download (including multi-part), etc.). I'd like to see some optimization of some of these core file-handling tasks, to better multi-thread the actual task being performed, along with using the MFT directly (like Everything) where possible. Even though SSD's have sped up file/folder operations a lot, they can be sped up more to maximise throughput of of modern systems. I know some of these have been mentioned before, but thought I'd group them together in a single place for reference.
-
Use MFT directly (like Everything) for file/directory enumeration, with optional database, and monitoring changes. This is fine for getting basic details like file/folder names, and basic attributes, like size, date created/modified, etc. and would make lister population very fast, while any further attributes/info can be run in background thread(s), if needed, as is already done. Some references:
-
Use multi-threaded folder deletion/scanning. An open-source tool called ByeNow deleted a large folder containing lots of sub-folders and files about 3x faster than Opus (with a cold file cache), on a SSD based modern laptop. Two main options are Breadth-First Search and Depth-First Search. I believe BFS is the better option in this scenario. While external tools can be used, it would be nice if this core feature could be improved in DOpus, to also get the nice progress dialog.
-
Multi-threaded/Multi-part FTP/SFTP upload/download (lots of posts about this) - apart from basic needs, a lot of people just end up using something like Filezilla, which is a shame as it makes the Opus built-in FTP/SFTP feature a bit redundant and, me personally (and I'm sure other people), would prefer to stay in Opus.
-
But more specific, but cache the file extensions to display in the File Filter Field toolbar item, as it seems to re-read all the files when the drop-down of the toolbar item is clicked, leading to a delay before the drop-down menu is shown. This is very noticeable when FlatView is used where the list contains a lot of items (I noticed when there were over a million items in the flatview).
-
Make better use of caching in general, where possible, and within memory contraints.
I'll update this list with other ideas (mine or other people's), as and when they occur.