Subject: Speeding up libraries.
To: VAX porting list <port-vax@netbsd.org>
From: Johnny Billquist <bqt@update.uu.se>
List: port-vax
Date: 07/04/2002 17:05:38
Hi, all.
I'm now running NetBSD/vax on an 8650. It works nice, and the machine is
build things left and right. I think I'm close to 200 current running
processes on the machine. Load is running between 8 and 10 or so... :-)

One thing struck me, though. The 8650 have the full instruction set
implemented, but libc isn't using it. The reason for this is that smaller
VAXen don't have all of it, so it has to be implemented, meaning slowdown
on those machines.

To make everybody happy, we should really be able to build two different
versions of libc. One utilizing the full instruction set of the VAX, and
the other using just a subset.

Whatever the default both versions should work on all machines. I assume
some flag when building could/should be used. Anyone knows how to best
approach this? I'd be willing to hack away at functions for this.
But the thing is, if we want to use only a subset, we could be happy with
the current library functions, which means functions like strlen are c
code. The full instructionset library would have a strlen written in
assembler, though. Can you get the build to pick different files depending
on some flag? Or do we need to write both variants in the same file (all
assembler in that case)?

	Johnny

Johnny Billquist                  || "I'm on a bus
                                  ||  on a psychedelic trip
email: bqt@update.uu.se           ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol