Subject: Why are things so slow?
To: None <port-mips@netbsd.org>
From: Matt Thomas <matt@3am-software.com>
List: port-mips
Date: 06/07/2000 20:23:29
I have three systems:

a DECstation 5000/125:
NetBSD 1.4ZA (GENERIC) #0: Wed Jun  7 19:17:46 PDT 2000
     matt@pilot.local:/other/src/sys/arch/pmax/compile/GENERIC
DECstation 5000/125 (3MIN)
total memory = 32768 KB
avail memory = 27592 KB
using 435 buffers containing 1740 KB of memory
mainbus0 (root)
cpu0 at mainbus0: MIPS R3000 CPU Rev. 3.0 with MIPS R3010 FPC Rev. 4.0
cpu0: 64KB Instruction, 64KB Data, direct mapped cache

a VAXstation 4000/60: (comparable in speed to a DECstation 3100)

VAXstation 4000/60
cpu: KA46
cpu: turning on floating point chip
total memory = 40560 KB
avail memory = 34632 KB
using 532 buffers containing 2128 KB of memory
mainbus0 (root)
vsbus0 at mainbus0
vsbus0: 32K entry DMA SGMAP at PA 0x5e0000 (VA 0x805e0000)
vsbus0: interrupt mask 0

a NEC MobilePro 800:

matt@pilot.local:/other/src/sys/arch/hpcmips/compile/GENERIC
NEC MobilePro 800 (NEC VR4121 rev0.0 131.072MHz)
total memory = 32768 KB
avail memory = 27824 KB
using 435 buffers containing 1740 KB of memory
../../../../arch/hpcmips/vr/vr.c(294): vr_bus_reset() not implemented.
mainbus0 (root)
cpu0 at mainbus0: NEC VR4100 CPU Rev. 6.0 with software emulated floating 
point
Rev. 0.0
cpu0: L1 cache: 16KB/16B instruction, 8KB/16B data, direct mapped
cpu0: No L2 cache

They are all running diskless off the same NFS server.  ttcp numbers
are all comparable:

mp800:

matt@fireball> ttcp -r -s -f k
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001  tcp
ttcp-r: socket
ttcp-r: accept from 192.168.1.24
ttcp-r: 16777216 bytes in 18.92 real seconds = 6927.96 Kbit/sec +++
ttcp-r: 11558 I/O calls, msec/call = 1.68, calls/sec = 610.91
ttcp-r: 0.0user 1.6sys 0:18real 8% 0i+0d 0maxrss 0+1pf 11553+24csw

ds5000/125:

matt@fireball> ttcp -r -s -f k
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001  tcp
ttcp-r: socket
ttcp-r: accept from 192.168.1.9
ttcp-r: 16777216 bytes in 20.26 real seconds = 6468.77 Kbit/sec +++
ttcp-r: 11649 I/O calls, msec/call = 1.78, calls/sec = 574.91
ttcp-r: 0.0user 1.5sys 0:20real 7% 0i+0d 0maxrss 0+1pf 11578+83csw

vs4000/60:

matt@fireball> ttcp -r -s -f k
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001  tcp
ttcp-r: socket
ttcp-r: accept from 192.168.1.8
ttcp-r: 16777216 bytes in 17.41 real seconds = 7530.50 Kbit/sec +++
ttcp-r: 11656 I/O calls, msec/call = 1.53, calls/sec = 669.67
ttcp-r: 0.1user 1.5sys 0:17real 9% 0i+0d 0maxrss 0+1pf 11649+22csw

So why does this happen?

(cd usr.bin/make; make clean; csh -c 'time make')

ds5k:   580.7u 183.2s 13:20.01 95.4% 0+0k  15+923io 1193pf+0w
mp800:  352.1u  68.2s  7:23.12 94.8% 0+0k  12+846io  256pf+0w
vs4k:   ???.?u  ??.?s  5:42.70 ??.?% 0+0k  19+331io  471pf+0w
cobalt:  91.1u  16.7s  2:01.75 88.6% 0+0k 786+974io 1078pf+0w

Granted some of this is diffence in compiler complexity but the
mp800 should be faster than the vs4000/60 considering its has
about 10x the clock speed.
--
Matt Thomas               Internet:   matt@3am-software.com
3am Software Foundry      WWW URL:    http://www.3am-software.com/bio/matt/
Cupertino, CA             Disclaimer: I avow all knowledge of this message