Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: static binary timings (Was: Some more patches for GCC on NetBSD/VAX coming soon...)



On 2016-03-30 14:55, David Brownlee wrote:
On 30 March 2016 at 13:45, Johnny Billquist <bqt%update.uu.se@localhost> wrote:
On 2016-03-30 14:11, Anders Magnusson wrote:

Den 2016-03-30 kl. 13:34, skrev David Brownlee:

Conclusions (albeit with simh timings)
- having makemandb running makes timings (and the machine) pretty much
useless
- NOPAM reduced login time by 33%
- NOPIC reduced login time by 50%
- NOPIC reduced boot time by 25%, even allowing for fixed times such
as kernel boot

This is actually very strange, since the generated assembler is
basically the same.

Maybe if it's the dynamic linking itself and not PIC that is causing the
speed penalty?

My supposition would be that rc.d startup involves a relatively large
number of short lived processes, so any difference in process start up
costs will weight much more heavily. I would expect the performance of
(say) nginx to be much close on static/dynamic

Agreed. There are only a couple of really heavy bits in the startup, and theses are sshd and postfix. sshd I don't know about, but postfix is crazy c++ with several processes. So both lots of dynamic library loading with complex handling, and process startup costs. While sendmail took on the order of seconds to start, postfix takes close to a minute on the 8650.

But there are lots of small proccesses run as a part of the rc.d processing. And it costs...

It would be interesting to test this on real iron (Johnny? :-)  to see
the outcome.

The 8650 is up and running. Just point me to tarballs... :-)

Dynamic linking definitely have costs. All the file opening and symbol
resolving... But also, just image activation I seem to remember being an
issue.

Davids tests are interesting, but unfortunately, having login data samples
at 6,4,3 means we have way too low resoltion and too few samples to draw any
real conclusions.

And since David asked, yes - I also noticed that makemandb now is run by
default at boot time. Was a bit surprised by that one myself. :-)

The makemandb is an issue for other ports (eg: m68k, and lower memory
i386). I think we should assume that running makemandb on boot is
entirely inappropriate on vax and just disable it manually for now
while we investigate the static/dynamic.

Yup.

The old timing images are at http://sync.absd.org/vax/timing-images/,
but I think it would be appropriate to run off a new set with gcc 5.3
:)

Let me get started on that and I'll email back when they're ready.

Not only it is interesting to use the new gcc, but I also feel that 7.99.26 actually feels snappier than things have been feeling in a long time. If that is actually due to 7.99.26, or if it's actually because of gcc 5.3 I don't know. But let's try to do the timing using the latest version of things for now.

	Johnny



Home | Main Index | Thread Index | Old Index