Any tricks to speedup nnimap?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Any tricks to speedup nnimap?

Pankaj Jangid
Hi,

I am using Gnus to read news and emails. News is fine. Whenever I open
an unread article, it opens in a snap. Really fast. Some prefetch
mechanism is at play. I haven't done anything to speed up news. This is
default behaviour in my Emacs 26.3

But when inside an nnimap group, it takes time to open an email. I press
<RET> on any email then it connects to server to fetch. Is it possible
to prefetch emails? I want the news like fast behaviour in reading
emails.

I have tried following things:

;; (1) globally
(setq gnus-asynchronous t)
(setq gnus-use-article-prefetch 30) ; this is default

;; (2) under nnimap server section
(nnimap-fetch-partial-articles t)

These (above) two approaches aren't working on emails.

I have read some articles that recommend "mbsync" and "dovecot". But
that is a dependency on external tools. I would prefer native emacs
approach if it is possible.

--
Regards,
Pankaj Jangid

Reply | Threaded
Open this post in threaded view
|

Re: Any tricks to speedup nnimap?

Eric Abrahamsen-2
Pankaj Jangid <[hidden email]> writes:

> Hi,
>
> I am using Gnus to read news and emails. News is fine. Whenever I open
> an unread article, it opens in a snap. Really fast. Some prefetch
> mechanism is at play. I haven't done anything to speed up news. This is
> default behaviour in my Emacs 26.3
>
> But when inside an nnimap group, it takes time to open an email. I press
> <RET> on any email then it connects to server to fetch. Is it possible
> to prefetch emails? I want the news like fast behaviour in reading
> emails.
>
> I have tried following things:
>
> ;; (1) globally
> (setq gnus-asynchronous t)
> (setq gnus-use-article-prefetch 30) ; this is default

Unfortunately, the nnimap backend doesn't support asynchronous calling,
so this won't work. I can't immediately think of why nnimap couldn't be
made asynchronous, but the work hasn't been done.

> ;; (2) under nnimap server section
> (nnimap-fetch-partial-articles t)

This will only have a noticeable effect if the email has a big
attachment or something on it. If it's just a plain text/HTML email, you
probably won't notice a speedup.

> These (above) two approaches aren't working on emails.
>
> I have read some articles that recommend "mbsync" and "dovecot". But
> that is a dependency on external tools. I would prefer native emacs
> approach if it is possible.

They aren't really external tools -- well, they're external to Emacs,
but Gnus will still behave the same as always. Essentially, going that
route is replicating an IMAP server on your local machine, and having
Gnus access that server rather than the remote one. That might sound
excessive, but actually it works quite well. It is very fast, and has
the advantage that you can still do everything you need to with your
email while you're offline.

Eric


Reply | Threaded
Open this post in threaded view
|

Re: Any tricks to speedup nnimap?

Pankaj Jangid
Eric Abrahamsen <[hidden email]> writes:

>> I have read some articles that recommend "mbsync" and "dovecot". But
>> that is a dependency on external tools. I would prefer native emacs
>> approach if it is possible.
>
> They aren't really external tools -- well, they're external to Emacs,
> but Gnus will still behave the same as always. Essentially, going that
> route is replicating an IMAP server on your local machine, and having
> Gnus access that server rather than the remote one. That might sound
> excessive, but actually it works quite well. It is very fast, and has
> the advantage that you can still do everything you need to with your
> email while you're offline.
>
Thanks Eric.

I just tried it. It works really well. But there is another problem. I
keep only 1000 messages locally. There is a setting in mbsync to do
that. I just realized that searching through all the mails will be not
be possible using this approach.

So, I resorted back to nnimap backend. nnir works perfectly with this
approach. My connection is not slow but the fast access to news makes it
look slow (comparatively).

May be someday, when I have elisp skills developed, I will try to give
time to this backend. Or may be wait for someone else to do it. :-)

--
Regards,
Pankaj Jangid

Reply | Threaded
Open this post in threaded view
|

Re: Any tricks to speedup nnimap?

Byung-Hee HWANG (황병희)
> I just tried it. It works really well. But there is another problem. I
> keep only 1000 messages locally. There is a setting in mbsync to do
> that. I just realized that searching through all the mails will be not
> be possible using this approach.

So i use Gmail web interface for searching in detail. With speed, just
reading/followup is best Eric's way -- mbox's downloading to local hard
disk -- for now.

Well i heard that somebody is making for Gnus' cloud. That will be great
news someday far later, i think.

Sincerely,

--
^고맙습니다 _地平天成_ 감사합니다_^))//