答案1
现代文件系统试图确保在写入过程中始终保持数据完整性。过去我听说这被称为“原子”写入,因为它要么成功完成,要么根本不完成。
您一次只能向实际磁盘发送一个命令,忽略磁盘队列和缓存,并且删除操作将进行几次读取(扫描目录等)等,然后最终写入从目录树中删除该项目并将空间标记为可用。
结合现代日志记录的使用(允许磁盘任务根据中断时间向前或向后滚动),瓶颈很可能在于磁盘控制器的实际排队任务(读取/查找/写入)。
将某些内容移至回收站只是移动文件夹,这种方式比“删除”某些内容要简单得多,因为您只是修改了文件夹结构,而不是将大量数据标记为不再需要。不过,当您清空回收站时,您最终还是需要再次释放磁盘空间。
答案2
此操作的瓶颈不是 CPU,而是磁盘。您无法让 CPU 的速度超过磁盘存储更改的速度。因此,CPU 会等待磁盘完成其工作后再提交更多工作。
对于许多小文件的操作,这种影响尤其明显,因为文件系统的开销大于文件本身的大小,因此处理它们似乎需要异常长的时间。