Subject: Re: UVM snapshot: FP performance
To: Neil Hoggarth <neil.hoggarth@physiol.ox.ac.uk>
From: Mark Brinicombe <mark@causality.com>
List: port-arm32
Date: 06/18/1998 23:13:32
On Thu, 18 Jun 1998, Neil Hoggarth wrote:
> Hi Folks!
>
> I recently replaced my 1.2G installation with the new UVM based current
> snapshot. The new release is working well - congratulations again to the
> arm32 team!
>
> I thought that it would be interesting to run the Byte benchmarks again
> to see how far the system has come on in the last year, as well as to
> see what difference UVM makes to overall system performance.
>
> There are moderate improvements overall, with a big gain in the
> concurrent shell script tests (if anyone is interested in the detailed
> reports, see ftp://ftp.physiol.ox.ac.uk/pub/neil.hoggarth/bytemarks/).
> One thing did alarm me though - we seem to have noticably *lost* FP
> performance:
There are some more big gains to come from Neils latest pmap hacking ...
> 1.2G:
>
> Arithmetic Test (type = float) 3133.2 lps (10 secs, 6 samples)
> Arithmetic Test (type = double) 2697.9 lps (10 secs, 6 samples)
>
> 1.3F with UVM:
>
> Arithmetic Test (type = float) 1545.1 lps (10 secs, 6 samples)
> Arithmetic Test (type = double) 960.4 lps (10 secs, 6 samples)
>
> (The hardware is an Acorn RiscPC with a 200MHz SA110 processor and
> 32Mbytes RAM).
Ok the only thing that springs to mind is optimisation. The 1.2G build was
probably done with -O2. The 1.3F UVM build will have been done with -O
> I haven't had a chance to do any other tests to see if this is a real
> effect or whether it's something odd about the benchmark (and
> unfortunately I don't have the 1.2 system to compare against anymore).
>
> ISTR that the 1.2G private beta used the ARM FPE code, the same as the
> current snapshot does, though I might be mistaken. Can anyone think why
> there should such a big difference?
Both -current and 1.2G don't use the ARM floating point library but use a
free floating point library instead (written in C).
Also recent kernels will not have the ARMFPE configured in by default as
we have been soft-float since 1.2G
A version of libc has been built that used ARM's floating point library
and this did improve things further over the version in the NetBSD
sources.
Cheers,
Mark