So the question is should you or not enable TRIM under APFS.
Lets clarify a few things:
- The lower format for APFS is GUID! Which is the same what HFS+ uses.
- APFS uses a container within the given partition basically adding another layer from what we've become accustomed to with older formats (Linux, Mac, or Windows).
So what is TRIM? SSD TRIM is an Advanced Technology Attachment (ATA) command that enables an operating system to inform a NAND flash solid-state drive (SSD) which data blocks it can erase because they are no longer in use. The use of TRIM can improve the performance of writing data to SSDs and contribute to longer SSD life.
So lets look at a block diagram which shows the different interfaces
So what is this telling us? Both the Red & Yellow (AHCI) pathways would leverage TRIM. Only NVMe/PCIe interface would not leverage it (even if enabled).
But here’s the rub! The data flows under APFS is greater than HFS+ so what can happen is the SATA or mSATA interface gets choked up so you get a freeze up when you have too many changes in the queue (queue depth). This ‘Queue’ can be handled better under PCIe interface than SATA. Review slide 8 here NVM Express and the PCI Express SSD Revolution
This is why I don’t recommend going to High Sierra or Mojave in SATA or mSATA based systems! This does not have anything to do with TRIM directly. But, TRIM which is needed under SATA will struggle under APFS unlike HFS+.
So simply put SATA (AHCI) based systems need TRIM! Sticking with HFS+ is needed under SATA or mSATA drives. If you have a NVMe/PCIe drive (Apple blade drive) then the setting won’t alter the underlying interface and by default Apple SSD’s are enabled.