nmh-workers
[Top] [All Lists]

Re: [Nmh-workers] What OS/Architecture Do You Run nmh On?

2018-02-12 21:07:54
On Mon, 12 Feb 2018 15:26:18 -0800 Paul Vixie <paul@redbarn.org> wrote:

Ken Hornstein wrote:
...
you said:

And the programs I tried worked fine. Running best scan time
for 200K messages, scan+gc takes 13.5 seconds while the
regular scan 7.4 seconds.

To me a performance penalty of 50% is not worth it, but I'd be willing
to hear from others.

the various design choices made in MH and in many cases still present in 
NMH were all performance-related. consider the old "MATCHC" logic as an 
example, or the reuse of buffers today vs freeing and re-allocating.

On FreeBSD-386 I get more consistent results. The 46% increase
in time for scan and 28% for pick can probably be recovered
with profiling directed optimizations.  But there are at least
three reasons why this unlikely to happen.
1) I will have to make it happen and I don't have a strong
   desire to work on the current code base.
2) libgc will have to work on every platform of interest and
   it gave me problems on two platforms I tried. I have even less
   of a desire to fix libgc issues.
3) People will find that the same optimizations help the
   non-gc case and you guys will move the goalposts!

non-gc:
$ /usr/bin/time ./scan 1:30000 >/dev/null
       11.67 real         4.69 user         1.53 sys
$ /usr/bin/time ./scan 1:30000 >/dev/null
       11.29 real         4.80 user         1.42 sys
$ /usr/bin/time ./scan 1:30000 >/dev/null
       11.29 real         4.69 user         1.53 sys

$ /usr/bin/time ./pick -from a -and -to b 1:30000 >/dev/null
golang/pick.* .
       13.01 real         6.62 user         1.31 sys
$ /usr/bin/time ./pick -from a -and -to b 1:30000 >/dev/null
golang/pick.* .
       13.00 real         6.63 user         1.29 sys
$ /usr/bin/time ./pick -from a -and -to b 1:30000 >/dev/null
golang/pick.* .
       13.12 real         6.63 user         1.29 sys


gc:
$ /usr/bin/time ./scan 1:30000 >/dev/null
       16.30 real         9.62 user         1.54 sys
$ /usr/bin/time ./scan 1:30000 >/dev/null
       16.98 real        10.19 user         1.53 sys
$ /usr/bin/time ./scan 1:30000 >/dev/null
       16.82 real        10.15 user         1.48 sys

$ /usr/bin/time ./pick -from a -and -to b 1:30000 >/dev/null
       16.59 real         9.89 user         1.61 sys
$ /usr/bin/time ./pick -from a -and -to b 1:30000 >/dev/null
       16.63 real        10.04 user         1.36 sys
$ /usr/bin/time ./pick -from a -and -to b 1:30000 >/dev/null
       16.73 real        10.10 user         1.38 sys

-- 
Nmh-workers
https://lists.nongnu.org/mailman/listinfo/nmh-workers

<Prev in Thread] Current Thread [Next in Thread>