Emptying trash slow on external HDD?

Solution 1:

Deleting file operates meta-data on a filesystem. It is of a random accessing pattern.

SSD is thousands of times faster than HDD in random operation (tens of times in continuous operation).

The time to take is proportional to the number of files instead of the size. If it is a bundle (e.g. an app) with many files, it will take more time to delete.

Solution 2:

If you can measure the iOPS in activity monitor you will likely see the trash is constrained by the access speed of the hard drive over the USB bus. The Mac is capable of asking for thousands of changes and it waiting for the physical drive to answer back.

Activity Monitor showing Disk IO

This is expected, as solid-state drives (SSDs), are significantly faster than traditional hard drives (HDDs). The reason for this is that HDDs rely on writing data to a physical disk that spins around at an extremely fast rate, similar to a DVD. SSDs are able to be much faster since they instead store data digitally in chips which are written through electrical currents. These electrical currents are much faster than a spinning disk, which will make computer operations faster on SSDs and slower on HDDs. Because of this, processes such as emptying the trash will be slower on HDDs.

Fast for a hard drive is 100-300 iops and fast for an SSD is 10x as many operations per second or more in the Pro models.