man: add performance notes to find/index/server manpages

This commit is contained in:
Dirk-Jan C. Binnema 2023-08-06 12:24:19 +03:00
parent 01a516f0d3
commit fa2ceec4ae
3 changed files with 55 additions and 0 deletions

View File

@ -273,6 +273,27 @@ After restarting Wanderlust, the virtual folders should appear.
*mu find* output is encoded according to the locale for =--format=plain= (the
default format), and UTF-8 for all other formats (=sexp=, =xml=).
* PERFORMANCE
Some notes on performance, comparing the timings between some recent releases;
taking the total number for 10 test runs.
1. time (repeat 10 mu find "" -n 50000 > /dev/null)
2. time (repeat 10 mu find "" -n 50000 --include-related --threads > /dev/null)
| release | time 1 (sec) | time 2 (sec) |
|---------------+--------------+--------------|
| 1.4 | 8.9s | 59.3s |
| 1.6 | 8.3s | 27.5s |
| 1.8 | 8.7s | 29.3s |
| 1.10 | 9.8s | 30.6s |
| 1.11 (master) | 10.1s | 29.5s |
#+include: "exit-code.inc" :minlevel 1
#+include: "bugs.inc" :minlevel 1

View File

@ -179,6 +179,24 @@ Things are again a little faster, even though the index does a lot more now
(text-normalizatian, and pre-generating message-sexps). A faster machine helps,
too!
** recent releases
Indexing the the same 93000-message mail corpus with the last few releases:
| release | time (sec) | notes |
|---------------+------------+------------------------------------------|
| 1.4 | 160s | |
| 1.6 | 178s | |
| 1.8 | 97s | |
| 1.10 | 120s | adds html indexing, sexp-caching |
| 1.11 (master) | 96s | adds language-guessing, batch-size=50000 |
| | | |
Quite some variation!
Over time new features / refactoring can change the timings quite a bit. At
least for now, the latest code is both the fastest and the most featureful!
#+include: "exit-code.inc" :minlevel 1
#+include: "prefooter.inc"

View File

@ -63,6 +63,22 @@ directly through the emacs process input/output. This is noticeably faster for
commands with a lot of output, esp. when the the temp-file uses a in-memory
file-system.
* PERFORMANCE
As an indication for the relative performance, we can simulate something ~mu4e~
does; we take overall time of 50 such requests:
#+begin_src sh
time build/mu/mu server --allow-temp-file --eval '(find :query "\"\"" :include-related t :threads t :maxnum 50000)' >/dev/null
#+end_src
(and ~--allow-temp-file~ for 1.11)
| release | time (sec) |
|---------------+------------|
| 1.8 | 8.6s |
| 1.10 | 5.7s |
| 1.11 (master) | 2.8s |
#+include: "muhome.inc" :minlevel 2