Package: mutt Version: 1.5.20-8 Severity: normal
There is no way in hell this should actually be true, but it is. I ran an actual benchmark to prove it. Maybe there is a bug in the current SID version of TC, maybe mutt isn't using it in an optimal manner, I don't know. But for the current way mutt handles the hcache, GDBM is outperforming TC. The mailbox size tested was 47,317 messages. I ran a baseline test without any hcache involved and then two tests with the two hcache backends: 1. time to build the hcache 2. time to load the existing hcache * I got mutt to terminate immediately after mailbox load by throwing a exit(0) on line 696 of mx.c * For all tests I did a dummy run to prime the disk cache. Here is our baseline test case, loading from the cache should be faster than this, creating the cache should be slower: Mutt w/o hcache 1 2 3 avg real 2.944 2.910 2.910 2.921 user 1.584 1.660 1.772 1.672 sys 1.368 1.252 1.136 1.252 Mutt w/ GDBM: Building hcache: real 5.268 5.187 5.182 5.212 user 1.968 2.148 2.012 2.043 sys 2.356 2.072 2.212 2.213 Loading existing hcache: real 0.950 0.906 0.952 0.936 user 0.452 0.380 0.340 0.391 sys 0.468 0.528 0.572 0.523 Mutt w/ TokyoCabinet Building hcache: real 9.007 8.907 8.974 8.963 user 7.000 6.916 6.744 6.887 sys 1.756 1.820 2.004 1.860 Loading existing hcache: real 2.429 2.432 2.429 2.430 user 1.936 1.972 1.892 1.933 sys 0.488 0.452 0.536 0.492 TokyoCabinet is significantly slower than gdbm here and only barely faster than not using an hcache at all. Based on this, I have to ask that mutt's hcache be switched back to GDBM until this is improved. Since bug 530670 referenced IMAP, I thought I should be fair and run a test against an IMAP server too. I happen to have a mailbox on IMAP with 26,579 messages on it. (Hypothesis: network latency, not hcache backend performance, is the bottleneck here) Mutt w/o hcache no-cache: real 149.220 143.424 140.908 144.517 user 2.520 2.688 2.740 2.649 sys 1.084 1.048 0.956 1.029 Mutt w/ GDBM Building hcache: real 171.871 139.978 155.925 user 1.968 2.832 2.400 sys 2.356 1.800 2.078 Loading existing hcache: real 14.711 14.841 13.577 14.376 user 0.732 0.768 0.836 0.779 sys 0.448 0.420 0.404 0.424 Mutt w/ TokyoCabinet Building hcache: real 165.273 143.932 154.603 user 3.400 3.328 3.364 sys 1.160 1.224 1.192 Loading existing hcache: real 14.570 13.904 13.148 13.874 user 0.976 1.020 1.068 1.021 sys 0.468 0.392 0.328 0.396 The only conclusion I can draw from this is that the hcache backend is mostly irrelevant to IMAP performance. Both are far superior to no caching and the performance difference between the two is largely insigificant compared to the overall runtimes caused by network latency. -- Package-specific info: Mutt 1.5.20 (2009-06-14) Copyright (C) 1996-2009 Michael R. Elkins and others. Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'. Mutt is free software, and you are welcome to redistribute it under certain conditions; type `mutt -vv' for details. System: Linux 2.6.32-5-amd64 (x86_64) ncurses: ncurses 5.7.20100313 (compiled with 5.7) libidn: 1.18 (compiled with 1.18) hcache backend: tokyocabinet 1.4.37 Compile options: -DOMAIN +DEBUG -HOMESPOOL +USE_SETGID +USE_DOTLOCK +DL_STANDALONE +USE_FCNTL -USE_FLOCK +USE_POP +USE_IMAP +USE_SMTP -USE_SSL_OPENSSL +USE_SSL_GNUTLS +USE_SASL +USE_GSS +HAVE_GETADDRINFO +HAVE_REGCOMP -USE_GNU_REGEX +HAVE_COLOR +HAVE_START_COLOR +HAVE_TYPEAHEAD +HAVE_BKGDSET +HAVE_CURS_SET +HAVE_META +HAVE_RESIZETERM +CRYPT_BACKEND_CLASSIC_PGP +CRYPT_BACKEND_CLASSIC_SMIME +CRYPT_BACKEND_GPGME -EXACT_ADDRESS -SUN_ATTACHMENT +ENABLE_NLS -LOCALES_HACK +COMPRESSED +HAVE_WC_FUNCS +HAVE_LANGINFO_CODESET +HAVE_LANGINFO_YESEXPR +HAVE_ICONV -ICONV_NONTRANS +HAVE_LIBIDN +HAVE_GETSID +USE_HCACHE -ISPELL SENDMAIL="/usr/sbin/sendmail" MAILPATH="/var/mail" PKGDATADIR="/usr/share/mutt" SYSCONFDIR="/etc" EXECSHELL="/bin/sh" MIXMASTER="mixmaster" To contact the developers, please mail to <mutt-...@mutt.org>. To report a bug, please visit http://bugs.mutt.org/. debian-specific/467432-write_bcc.patch debian-specific/Md.etc_mailname_gethostbyname.diff debian-specific/Muttrc debian-specific/assumed_charset-compat debian-specific/build_doc_adjustments.diff debian-specific/correct_docdir_in_man_page.diff debian-specific/document_debian_defaults debian-specific/dont_document_not_present_features.diff debian-specific/sort-patchlist debian-specific/use_usr_bin_editor.diff features-old/patch-1.5.4.vk.pgp_verbose_mime features/compressed-folders features/compressed-folders.debian features/ifdef features/purge-message features/sensible_browser_position features/trash-folder features/xtitles misc/am-maintainer-mode misc/define-pgp_getkeys_command.diff misc/gpg.rc-paths misc/hg.pmdef.debugtime misc/hyphen-as-minus.patch misc/smime.rc misc/smime_keys-manpage.patch mutt.org upstream/228671-pipe-mime.patch upstream/311296-rand-mktemp.patch upstream/383769-score-match.patch upstream/393926-internal-viewer.patch upstream/528233-readonly-open.patch upstream/531430-imapuser.patch upstream/533209-mutt_perror.patch upstream/533370-pgp-inline.patch upstream/533439-mbox-time.patch upstream/533459-unmailboxes.patch upstream/533520-signature-highlight.patch upstream/534543-imap-port.patch upstream/535096-pop-port.patch upstream/537694-segv-imap-headers.patch upstream/537818-emptycharset.patch upstream/538128-mh-folder-access.patch upstream/542344-dont_fold_From_ upstream/542817-smimekeys-tmpdir.patch upstream/542910-search-segfault.patch upstream/543467-thread-segfault.patch upstream/544180-italian-yesorno.patch upstream/544794-smtp-batch.patch upstream/545316-header-color.patch upstream/547739-manual-typos.patch upstream/547980-smime_keys-chaining.patch upstream/548494-swedish-intl.patch upstream/548577-gpgme-1.2.patch upstream/553238-german-intl.patch upstream/553321-ansi-escape-segfault.patch upstream/557395-muttrc-crypto.patch upstream/568295-references.patch upstream/573823-imap_internal_date -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages mutt depends on: ii libc6 2.11.1-3 Embedded GNU C Library: Shared lib ii libcomerr2 1.41.12-2 common error description library ii libgnutls26 2.8.6-1 the GNU TLS library - runtime libr ii libgpg-error0 1.6-1 library for common error values an ii libgpgme11 1.2.0-1.2 GPGME - GnuPG Made Easy ii libgssapi-krb5-2 1.8.1+dfsg-5 MIT Kerberos runtime libraries - k ii libidn11 1.18-1 GNU Libidn library, implementation ii libk5crypto3 1.8.1+dfsg-5 MIT Kerberos runtime libraries - C ii libkrb5-3 1.8.1+dfsg-5 MIT Kerberos runtime libraries ii libncursesw5 5.7+20100313-2 shared libraries for terminal hand ii libsasl2-2 2.1.23.dfsg1-5 Cyrus SASL - authentication abstra ii libtokyocabinet8 1.4.37-6 Tokyo Cabinet Database Libraries [ Versions of packages mutt recommends: ii libsasl2-modules 2.1.23.dfsg1-5 Cyrus SASL - pluggable authenticat ii locales 2.11.1-3 Embedded GNU C Library: National L ii mime-support 3.48-1 MIME files 'mime.types' & 'mailcap ii postfix [mail-transport-a 2.7.0-1 High-performance mail transport ag Versions of packages mutt suggests: pn aspell | ispell <none> (no description available) ii ca-certificates 20090814 Common CA certificates ii gnupg 1.4.10-4 GNU privacy guard - a free PGP rep pn mixmaster <none> (no description available) ii openssl 0.9.8o-1 Secure Socket Layer (SSL) binary a pn urlview <none> (no description available) Versions of packages mutt is related to: ii mutt 1.5.20-8 text-based mailreader supporting M pn mutt-dbg <none> (no description available) pn mutt-patched <none> (no description available) -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org