Subject: x86 Port outperforms SPARC64 port on NetBSD v2.0.2
To: None <port-sparc64@NetBSD.org>
From: Philip Jensen <phil_jensen@yahoo.com>
List: port-sparc64
Date: 10/01/2005 00:19:20
Hello Gentlemen

Just wanted to get some ideas from the group at large.  I often run Zope 
(http://www.zope.org) as my application server (it is built with 
Python), and for sometime have thought it would perform really well on 
SPARC64 due to the 64-bit addressing available.  The main reason being 
Zope stores all its data in a single file (Data.fs) on the filesystem 
which can grow to GB in size.  However some tests I have performed using 
funkload have demonstrated otherwise with a P3 600MHz Laptop 
outperforming an UltraSPARC IIi 400MHz. 

Additionally after reading another comment on the NetBSD forums about 
regression testing python on SPARC64, I did a regression test using 
/usr/pkg/lib/python2.3/test/regrtest.py and found python core dumped on 
the "*isinstance" test.

Funkload was run locally on both machines, talking to localhost to avoid 
any network issues.

So should x86 be faster (almost twice as fast) in this instance?
Does python suck on SPARC64 still due to threading issues?

thanks
Phil J


Detailed information below,  machines dmesg is first with the funkload 
results after that.

Machine info:-
_x86_
NetBSD 2.0.2 (GENERIC_LAPTOP) #0: Wed Mar 23 08:59:09 UTC 2005
        
jmc@faith.netbsd.org:/home/builds/ab/netbsd-2-0-2-RELEASE/i386/200503220140Z-obj/home/builds/ab/netbsd-2-0-2-RELEASE/src/sys/arch/i386/compile/GENERIC_LAPTOP
total memory = 255 MB
avail memory = 244 MB
BIOS32 rev. 0 found at 0xfd890
PCI BIOS rev. 2.1 found at 0xfd9ae
pcibios: config mechanism [1][x], special cycles [x][x], last bus 1
PCI IRQ Routing Table rev. 1.0 found at 0xfdf50, size 144 bytes (7 entries)
PCI Interrupt Router at 000:07:0 (Intel 82371FB PCI-to-ISA Bridge (PIIX) 
compatible)
------------------------------------------
  device vendor product pin PIRQ IRQ stage
------------------------------------------
000:04:0 0x104c 0xac1c   A  0x00  11  0    fixed up
000:04:1 0x104c 0xac1c   A  0x00  11  0    fixed up
000:07:2 0x8086 0x7112   D  0x03   5  0    already assigned
000:08:0 0x125d 0x1978   A  0x03   5  0    already assigned
001:00:0 0x1002 0x4c4d   A  0x00  11  0    already assigned
------------------------------------------
PCI fixup examining 8086:7190
PCI fixup examining 8086:7191
PCI fixup examining 1002:4c4d
PCI bridge 0: primary 0, secondary 1, subordinate 1
PCI fixup examining 104c:ac1c
PCI bridge 1: primary 0, secondary 2, subordinate 2
PCI fixup examining 104c:ac1c
PCI bridge 2: primary 0, secondary 3, subordinate 3
PCI fixup examining 8086:7110
PCI fixup examining 8086:7111
PCI fixup examining 8086:7112
PCI fixup examining 8086:7113
PCI fixup examining 125d:1978
PCI bus #3 is the last bus
[System BIOS Setting]-----------------------
  device vendor product
  register space address    size
--------------------------------------------
000:00:0 0x8086 0x7190
        10h mem  0xe0000000 0x04000000
                [OK]
000:01:0 0x8086 0x7191
                [OK]
000:04:0 0x104c 0xac1c
        10h mem  0x10000000 0x00001000
                [OK]
000:04:1 0x104c 0xac1c
        10h mem  0x10001000 0x00001000
                [OK]
000:07:0 0x8086 0x7110
                [OK]
000:07:1 0x8086 0x7111
        20h port 0x00001050 0x00000010
                [OK]
000:07:2 0x8086 0x7112
        20h port 0x00001060 0x00000020
                [OK]
000:07:3 0x8086 0x7113
                [OK]
000:08:0 0x125d 0x1978
        10h port 0x00001400 0x00000100
                [OK]
001:00:0 0x1002 0x4c4d
        10h mem  0xfd000000 0x01000000
        14h port 0x00002000 0x00000100
        18h mem  0xfc000000 0x00001000
                [OK]
--------------------------[  0 devices bogus]
 Physical memory end: 0x0ffec000
 PCI memory mapped I/O space start: 0x10000000
mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Pentium III (686-class), 601.39 MHz, id 0x683
cpu0: features 387f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR>
cpu0: features 387f9ff<PGE,MCA,CMOV,PAT,PSE36,PN,MMX>
cpu0: features 387f9ff<FXSR,SSE>
cpu0: I-cache 16 KB 32B/line 4-way, D-cache 16 KB 32B/line 4-way
cpu0: L2 cache 256 KB 32B/line 8-way
cpu0: ITLB 32 4 KB entries 4-way, 2 4 MB entries fully associative
cpu0: DTLB 64 4 KB entries 4-way, 8 4 MB entries 4-way
cpu0: serial number 0000-0683-0002-4106-1B31-57E4
cpu0: 8 page colors
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82443BX Host Bridge/Controller (rev. 0x03)
agp0 at pchb0: aperture at 0xe0000000, size 0x4000000
ppb0 at pci0 dev 1 function 0: Intel 82443BX AGP Interface (rev. 0x03)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
vga1 at pci1 dev 0 function 0: ATI Technologies Rage Mobility (rev. 0x64)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
cbb0 at pci0 dev 4 function 0: Texas Instruments PCI1225 PCI-CardBus 
Bridge (rev. 0x01)
cbb1 at pci0 dev 4 function 1: Texas Instruments PCI1225 PCI-CardBus 
Bridge (rev. 0x01)
pcib0 at pci0 dev 7 function 0
pcib0: Intel 82371AB PCI-to-ISA Bridge (PIIX4) (rev. 0x02)
piixide0 at pci0 dev 7 function 1
piixide0: Intel 82371AB IDE controller (PIIX4) (rev. 0x01)
piixide0: bus-master DMA support present
piixide0: primary channel wired to compatibility mode
piixide0: primary channel interrupting at irq 14
atabus0 at piixide0 channel 0
piixide0: secondary channel wired to compatibility mode
piixide0: secondary channel ignored (disabled)
uhci0 at pci0 dev 7 function 2: Intel 82371AB USB Host Controller 
(PIIX4) (rev. 0x01)
uhci0: interrupting at irq 5
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
Intel 82371AB Power Management Controller (PIIX4) (miscellaneous bridge, 
revision 0x03) at pci0 dev 7 function 3 not configured
esm0 at pci0 dev 8 function 0: ESS Technology, Inc. Maestro 2E PCI Audio 
Accelerator (rev. 0x10)
esm0: interrupting at irq 5
esm0: ac97: SigmaTel STAC9721/23 codec; 18 bit DAC, 18 bit ADC, SigmaTel 3D
audio0 at esm0: full duplex, mmap, independent
cbb0: interrupting at irq 11
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 2 device 0
pcmcia0 at cardslot0
cbb1: interrupting at irq 11
cardslot1 at cbb1 slot 1 flags 0
cardbus1 at cardslot1: bus 3 device 0
pcmcia1 at cardslot1
isa0 at pcib0
lpt0 at isa0 port 0x378-0x37b irq 7
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
isapnp0: no ISA Plug 'n Play devices found
apm0 at mainbus0: Power Management spec V1.2
Kernelized RAIDframe activated
ex0 at cardbus0 dev 0 function 0: 3Com 3c575CT Ethernet
ex0: MAC address 00:50:da:8e:de:d8
tqphy0 at ex0 phy 0: 78Q2120 10/100 media interface, rev. 11
tqphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ep0 at pcmcia1 function 0: 3Com 3c589 10Mbps Ethernet
ep0: address 00:10:5a:6a:ab:ed, 8KB byte-wide FIFO, 5:3 Rx:Tx split
ep0: 10baseT, 10base5, 10base2 (default 10baseT)
wd0 at atabus0 drive 0: <FUJITSU MHK2120AT>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 11513 MB, 23392 cyl, 16 head, 63 sec, 512 bytes/sect x 23579136 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 4 (Ultra/66)
wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using 
DMA data transfers)
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
ex0: interrupting at 11
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)



_SPARC64_
NetBSD 2.0.2 (GENERIC) #0: Wed Mar 23 01:40:44 UTC 2005
        
builds@works.netbsd.org:/home/builds/ab/netbsd-2-0-2-RELEASE/sparc64/200503220140Z-obj/home/builds/ab/netbsd-2-0-2-RELEASE/src/sys/arch/sparc64/compile/GENERIC
total memory = 512 MB
avail memory = 490 MB
bootpath: /pci@1f,0/pci@1,1/ide@3,0/disk@0,0
mainbus0 (root): SUNW,Ultra-5_10: hostid 80fd8a69
cpu0 at mainbus0: SUNW,UltraSPARC-IIi @ 400 MHz, version 0 FPU
cpu0: 32K instruction (32 b/l), 16K data (32 b/l), 2048K external (64 b/l)
psycho0 at mainbus0 addr 0xfffc4000
SUNW,sabre: impl 0, version 0: ign 7c0 bus range 0 to 2; PCI bus 0
DVMA map: c0000000 to e0000000
IOTSB: d44000 to dc4000
pci0 at psycho0
pci0: i/o space, memory space enabled
ppb0 at pci0 dev 1 function 1: Sun Microsystems, Inc. Simba PCI bridge 
(rev. 0x13)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
ebus0 at pci1 dev 1 function 0
ebus0: Sun Microsystems, Inc. PCIO Ebus2, revision 0x01
auxio0 at ebus0 addr 726000-726003, 728000-728003, 72a000-72a003, 
72c000-72c003, 72f000-72f003
power at ebus0 addr 724000-724003 ipl 37 not configured
SUNW,pll at ebus0 addr 504000-504002 not configured
sab0 at ebus0 addr 400000-40007f ipl 43: rev 3.2
sabtty0 at sab0 port 0
sabtty1 at sab0 port 1
com0 at ebus0 addr 3083f8-3083ff ipl 41: ns16550a, working fifo
com0: console
kbd0 at com0 (console input)
com1 at ebus0 addr 3062f8-3062ff ipl 42: ns16550a, working fifo
ms0 at com1
lpt0 at ebus0 addr 3043bc-3043cb, 30015c-30015d, 700000-70000f ipl 34
fdthree at ebus0 addr 3023f0-3023f7, 706000-70600f, 720000-720003 ipl 39 
not configured
clock0 at ebus0 addr 0-1fff: mk48t59
flashprom at ebus0 addr 0-fffff not configured
audiocs0 at ebus0 addr 200000-2000ff, 702000-70200f, 704000-70400f, 
722000-722003 ipl 35 ipl 36: CS4231A
audio0 at audiocs0: full duplex
hme0 at pci1 dev 1 function 1: Sun Happy Meal Ethernet, rev. 1
hme0: interrupting at ivec 3021
hme0: Ethernet address 08:00:20:fd:8a:69
nsphy0 at hme0 phy 1: DP83840 10/100 media interface, rev. 1
nsphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ATI Technologies 3D Rage Pro (VGA display, revision 0x5c) at pci1 dev 2 
function 0 not configured
cmdide0 at pci1 dev 3 function 0
cmdide0: CMD Technology PCI0646 (rev. 0x03)
cmdide0: bus-master DMA support present
cmdide0: primary channel configured to native-PCI mode
cmdide0: using ivec 1820 for native-PCI interrupt
atabus0 at cmdide0 channel 0
cmdide0: secondary channel configured to native-PCI mode
atabus1 at cmdide0 channel 1
ppb1 at pci0 dev 1 function 0: Sun Microsystems, Inc. Simba PCI bridge 
(rev. 0x13)
pci2 at ppb1 bus 2
pci2: i/o space, memory space enabled
pcons at mainbus0 not configured
No counter-timer -- using %tick at 400MHz as system clock.
Kernelized RAIDframe activated
wd0 at atabus0 drive 0: <ST340014A>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 38166 MB, 77545 cyl, 16 head, 63 sec, 512 bytes/sect x 78165360 sectors
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(cmdide0:0:0): using PIO mode 4, DMA mode 2 (using DMA data transfers)
atapibus0 at atabus1: 2 targets
cd0 at atapibus0 drive 0: <CRD-8483B, 2000/05/10, 1.00> cdrom removable
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
cd0(cmdide0:1:0): using PIO mode 4, DMA mode 2 (using DMA data transfers)
root on wd0a dumps on wd0b
root file system type: ffs



Fairly informal performance results:-

_x86_
# time for i in 1 2 3^Jdo^Jfl-run-test -cv test_Zope.py^Jdone
test_00_verifyExample (test_Zope.Zope) ... Ok
test_anonymous_reader (test_Zope.Zope) ... Ok
test_exampleFileLibrary (test_Zope.Zope) ... Ok
test_exampleGuestBook (test_Zope.Zope) ... Ok
test_exampleNavigation (test_Zope.Zope) ... Ok
test_exampleShoppingCart (test_Zope.Zope) ... Ok
test_flushCache (test_Zope.Zope) ... Ok
test_packZodb (test_Zope.Zope) ... Ok
test_restart (test_Zope.Zope) ... Ok

----------------------------------------------------------------------
Ran 9 tests in 15.418s

OK
test_00_verifyExample (test_Zope.Zope) ... Ok
test_anonymous_reader (test_Zope.Zope) ... Ok
test_exampleFileLibrary (test_Zope.Zope) ... Ok
test_exampleGuestBook (test_Zope.Zope) ... Ok
test_exampleNavigation (test_Zope.Zope) ... Ok
test_exampleShoppingCart (test_Zope.Zope) ... Ok
test_flushCache (test_Zope.Zope) ... Ok
test_packZodb (test_Zope.Zope) ... Ok
test_restart (test_Zope.Zope) ... Ok

----------------------------------------------------------------------
Ran 9 tests in 12.625s

OK
test_00_verifyExample (test_Zope.Zope) ... Ok
test_anonymous_reader (test_Zope.Zope) ... Ok
test_exampleFileLibrary (test_Zope.Zope) ... Ok
test_exampleGuestBook (test_Zope.Zope) ... Ok
test_exampleNavigation (test_Zope.Zope) ... Ok
test_exampleShoppingCart (test_Zope.Zope) ... Ok
test_flushCache (test_Zope.Zope) ... Ok
test_packZodb (test_Zope.Zope) ... Ok
test_restart (test_Zope.Zope) ... Ok

----------------------------------------------------------------------
Ran 9 tests in 12.749s

OK
   42.87s real     1.54s user     0.17s system



_SPARC64_
# time for i in 1 2 3^Jdo^Jfl-run-test -cv test_Zope.py^Jdone
test_00_verifyExample (test_Zope.Zope) ... Ok
test_anonymous_reader (test_Zope.Zope) ... Ok
test_exampleFileLibrary (test_Zope.Zope) ... Ok
test_exampleGuestBook (test_Zope.Zope) ... Ok
test_exampleNavigation (test_Zope.Zope) ... Ok
test_exampleShoppingCart (test_Zope.Zope) ... Ok
test_flushCache (test_Zope.Zope) ... Ok
test_packZodb (test_Zope.Zope) ... Ok
test_restart (test_Zope.Zope) ... Ok

----------------------------------------------------------------------
Ran 9 tests in 32.321s

OK
test_00_verifyExample (test_Zope.Zope) ... Ok
test_anonymous_reader (test_Zope.Zope) ... Ok
test_exampleFileLibrary (test_Zope.Zope) ... Ok
test_exampleGuestBook (test_Zope.Zope) ... Ok
test_exampleNavigation (test_Zope.Zope) ... Ok
test_exampleShoppingCart (test_Zope.Zope) ... Ok
test_flushCache (test_Zope.Zope) ... Ok
test_packZodb (test_Zope.Zope) ... Ok
test_restart (test_Zope.Zope) ... Ok

----------------------------------------------------------------------
Ran 9 tests in 26.332s

OK
test_00_verifyExample (test_Zope.Zope) ... Ok
test_anonymous_reader (test_Zope.Zope) ... Ok
test_exampleFileLibrary (test_Zope.Zope) ... Ok
test_exampleGuestBook (test_Zope.Zope) ... Ok
test_exampleNavigation (test_Zope.Zope) ... Ok
test_exampleShoppingCart (test_Zope.Zope) ... Ok
test_flushCache (test_Zope.Zope) ... Ok
test_packZodb (test_Zope.Zope) ... Ok
test_restart (test_Zope.Zope) ... Ok

----------------------------------------------------------------------
Ran 9 tests in 26.564s

OK
   89.67s real     3.21s user     0.47s system