For example, IMAP has the concept of a "mailbox" and supports this in order to preserve the sequence number for each message. In IMAP Gmail, since each label is a folder, which means that we need to keep the sequence of each message on each label. For something like "All Mail," which can be 1,000,000 messages, it's hard to track this on the server.
Things like threads are also foreign to IMAP, but are native to Gmail. The Gmail backend is optimized for threading support as well as the Gmail API. If you want to receive all messages in the stream, this is one call in the API.
Dramatic performance improvements are API use cases that make sense (like web and mobile apps). If you want to synchronize the entire mailbox, IMAP can offer good or better performance, given the possibility of caching an authenticated connection, etc.
source share