Without knowing the source as such, it is possible that Total Commander's delete is slower is because every file is checked if it exists within a descript.ion file.
If that is the case then TC's internal delete could be improved by the following (which could be an extra Option for delete method).
1) If we are in SubDirBranch View or Tree View:
2) Regular View:Prior to file deletion, Add all unique Parent paths to a stack.
When deletions are complete, Pop all paths off the stack.
--- For each path, check if a descript.ion file exists.
--- If it does, parse the descript.ion and purge it of any non-existing files.
This method means a descript.ion file only needs to be read and written to once, and only when all the deletions are done.Delete All files.
When deletions are complete, check if a descript.ion file exists.
--- If it does, parse the descript.ion and purge it of any non-existing files.
The only possible side-effect to this, is technically you could lose information from a descript.ion file that previously referenced files that no longer exist. Which I don't believe most(?) people would want that cruft in their descript.ion files anyways.