Discussion:
VAX static vs dynamic performance
David Brownlee
2014-04-20 14:35:33 UTC
Permalink
Ayup. 30 seconds from entering username until I get a password prompt is
clearly asking the system to do much more today than in the past, so
obviously it is just as expected, and nothing to even talk about.
The system now processes through all the PAM infrastructure, which
provides a bunch of additional functionality. Whether that
functionality is worthwhile is certainly a valid discussion.
It makes heavy use of shared objects, which I believe is also a
significant performance hit on current VAX.
It would be interesting to see what profiling might report for a login sequence.
The sun2 port builds with NOPIC= so everything is static linked. It
would also be nice to compare the performance for a NOPIC= build of
NetBSD/vax (I'm just started a netbsd-6 static vax build to see if it
completes, but I don't really have an ideal machine on which to test)
I've just built both static and dynamic netbsd-6 vax releases without
x11 from the same source
- http://sync.absd.org/vax/6-vax-2014-04-19-static/
- http://sync.absd.org/vax/6-vax-2014-04-19/
in case someone would like to compare the relative speeds on a slow box...

It needed a small tweak to the set lists which is in current but not
pulled up into netbsd-6 yet -
http://mail-index.netbsd.org/source-changes/2014/04/20/msg054188.html
otherwise it was just a standard ./build.sh with the following in
/etc/mk.conf

.if ${MACHINE} == vax
NOPIC= # no shared libraries
MKX11=no
.endif
David Brownlee
2014-04-23 22:47:09 UTC
Permalink
I thought I'd test the static vs dynamic netbsd-6 install on simh (on
my T420s thinkpad). Unfortunately (or fortunately depending on your
view) the numbers do not seem to be significant.
From completion of kernel load sizes line until login prompt
- dynamic: ~58 sec
- static: ~56 sec

Login as root with empty password, from RETURN to # prompt
- dynamic: ~19 sec
- static: ~18 sec

Unless someone has a slow vax on which to test them I think I'll move
onto some simple benchmarks on differing NetBSD versions under simh
(which will probably tell us nothing, but its at least easy enough to
do in the background while I'm out and about on my laptop).

I'll probably make up some ra90 disk images with NetBSD versions
installed. Would anyone find them of any interest if I put them up on
a public server? should they have a full non-x install, just base, or
something else?
Ayup. 30 seconds from entering username until I get a password prompt is
clearly asking the system to do much more today than in the past, so
obviously it is just as expected, and nothing to even talk about.
The system now processes through all the PAM infrastructure, which
provides a bunch of additional functionality. Whether that
functionality is worthwhile is certainly a valid discussion.
It makes heavy use of shared objects, which I believe is also a
significant performance hit on current VAX.
It would be interesting to see what profiling might report for a login sequence.
The sun2 port builds with NOPIC= so everything is static linked. It
would also be nice to compare the performance for a NOPIC= build of
NetBSD/vax (I'm just started a netbsd-6 static vax build to see if it
completes, but I don't really have an ideal machine on which to test)
I've just built both static and dynamic netbsd-6 vax releases without
x11 from the same source
- http://sync.absd.org/vax/6-vax-2014-04-19-static/
- http://sync.absd.org/vax/6-vax-2014-04-19/
in case someone would like to compare the relative speeds on a slow box...
It needed a small tweak to the set lists which is in current but not
pulled up into netbsd-6 yet -
http://mail-index.netbsd.org/source-changes/2014/04/20/msg054188.html
otherwise it was just a standard ./build.sh with the following in
/etc/mk.conf
.if ${MACHINE} == vax
NOPIC= # no shared libraries
MKX11=no
.endif
Thor Lancelot Simon
2014-04-24 00:01:17 UTC
Permalink
Post by David Brownlee
Login as root with empty password, from RETURN to # prompt
- dynamic: ~19 sec
- static: ~18 sec
Then it can't be PAM, can it? I believe a static build essentially
guts PAM (and good riddance, frankly).

Thor
Christos Zoulas
2014-04-24 01:20:09 UTC
Permalink
Post by Thor Lancelot Simon
Post by David Brownlee
Login as root with empty password, from RETURN to # prompt
- dynamic: ~19 sec
- static: ~18 sec
Then it can't be PAM, can it? I believe a static build essentially
guts PAM (and good riddance, frankly).
It does not gut PAM, it just links all of it statically. MKPAM=no to gut
it.

christos
Anders Magnusson
2014-04-24 05:58:34 UTC
Permalink
Post by David Brownlee
I thought I'd test the static vs dynamic netbsd-6 install on simh (on
my T420s thinkpad). Unfortunately (or fortunately depending on your
view) the numbers do not seem to be significant.
From completion of kernel load sizes line until login prompt
- dynamic: ~58 sec
- static: ~56 sec
Login as root with empty password, from RETURN to # prompt
- dynamic: ~19 sec
- static: ~18 sec
Thanks for testing this. Only a few % slower would be expected, since
there is not much difference between PIC and non-PIC code on vax.

-- Ragge
Johnny Billquist
2014-04-24 08:08:54 UTC
Permalink
Post by Anders Magnusson
Post by David Brownlee
I thought I'd test the static vs dynamic netbsd-6 install on simh (on
my T420s thinkpad). Unfortunately (or fortunately depending on your
view) the numbers do not seem to be significant.
From completion of kernel load sizes line until login prompt
- dynamic: ~58 sec
- static: ~56 sec
Login as root with empty password, from RETURN to # prompt
- dynamic: ~19 sec
- static: ~18 sec
Thanks for testing this. Only a few % slower would be expected, since
there is not much difference between PIC and non-PIC code on vax.
Well, there is more than just PIC as a difference. With dynamic
executables, you have to open dynamic libraries, load them into memory
at runtime, resolve symbols, and so on, which have been suggested in the
past to be a big source of the slowdown. It would now seem that is not
the case, so it really is something done in the kernel that have gotten
way slower.

Johnny
David Brownlee
2014-04-24 08:23:55 UTC
Permalink
Post by Anders Magnusson
Post by David Brownlee
I thought I'd test the static vs dynamic netbsd-6 install on simh (on
my T420s thinkpad). Unfortunately (or fortunately depending on your
view) the numbers do not seem to be significant.
From completion of kernel load sizes line until login prompt
- dynamic: ~58 sec
- static: ~56 sec
Login as root with empty password, from RETURN to # prompt
- dynamic: ~19 sec
- static: ~18 sec
Thanks for testing this. Only a few % slower would be expected, since
there is not much difference between PIC and non-PIC code on vax.
Well, there is more than just PIC as a difference. With dynamic executables,
you have to open dynamic libraries, load them into memory at runtime,
resolve symbols, and so on, which have been suggested in the past to be a
big source of the slowdown. It would now seem that is not the case, so it
really is something done in the kernel that have gotten way slower.
There is also a large caveat that this was run on simh, so the timings
should be taken as "probably indicative". They could be significantly
different on real hardware.

I do agree that its likely that the main issue lies elsewhere.

Loading...