help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-smalltalk] Bench.st .. surprising results


From: Robert Collins
Subject: [Help-smalltalk] Bench.st .. surprising results
Date: Tue, 21 Sep 2004 22:04:29 +1000

I just ran Bench.st for run, and got the following figures, on my
Pentium IV 2.8Ghz 512Kb cache machine:


     72,644,721 bytecodes/sec; 2,460,329 sends/sec
     66,832,006 bytecodes/sec; 2,447,278 sends/sec
     71,438,537 bytecodes/sec; 2,187,121 sends/sec


These are 3 times the reported values for a Pentium II 300Mhz machine.
It makes me wonder if there is some machine tick (which is constant)
related performance constraint in the vm.

I did some rough stuff with strace::
between the start of the benchmarking code (not the compilation) and the
end, we trigger:
2797 SIGSEGV's (roughly 1 per 1000 sends)
we call
mprotect 8410 times
sig* calls 2825 times.
and thats about it.

my bogomips from /proc/cpuinfo is 5570, FWIW.

Am I wrong? should I not expect a more significant improvement from a
machine an order of magnitude faster mhz + bus etc, + paolo's 20% faster
VM ?

I would have tried with --enable-jit, but:
make gst.im
SMALLTALK_KERNEL="`cd ./kernel; pwd`" \
SMALLTALK_IMAGE="`pwd`" \
  ./gst -iQ dummy_file
/home/robertc/smalltwists/s/gnu-smalltalk--gtk-
bindings--2.1/kernel/FloatD.st:63: Aborted
/home/robertc/smalltwists/s/gnu-smalltalk--gtk-
bindings--2.1/kernel/FloatD.st:63: Error occurred while not in byte code
interpreter!!
[0xffffe420]
./gst[0x8096f87]
[0xffffe420]
./gst(realloc+0x2c)[0x809167c]
./gst[0x80917de]
./gst[0x8084572]
./gst[0x8084399]
./gst[0x80a5275]
./gst[0x80a6cb7]
./gst[0x80553b8]
make: *** [gst.im] Aborted

under gdb:
#47 0x400080c3 in _dl_lookup_versioned_symbol () from /lib/ld-linux.so.2
#48 0x08096f87 in sigsegv_handler (sig=11, sc=
      {gs = 51, __gsh = 0, fs = 0, __fsh = 0, es = 123, __esh = 0, ds =
123, __dsh = 49168, edi = 136294408, esi = 136343464, ebp = 3221213608,
esp = 3221213568, ebx = 4096, edx = 1, ecx = 0, eax = 136343456, trapno
= 14, err = 6, eip = 134811433, cs = 115, __csh = 0, eflags = 2163270,
esp_at_signal = 3221213568, ss = 123, __ssh = 0, fpstate = 0xbfffcf00,
oldmask = 0, cr2 = 136343464}) at handler-unix.c:115
#49 <signal handler called>
#50 _gst_mem_realloc (h=0x80d99e0, mem=0x81fb008, size=136343456) at
alloc.c:315
#51 0x0809167c in realloc (block=0x81fb008, n=136343456) at alloc.c:749
#52 0x080917de in xrealloc (p=0x8206fa0, n=901) at alloc.c:821
#53 0x08084572 in find_method_entry (methodOOP=0x40215758,
receiverClass=0x40200a50) at xlat.c:654
#54 0x08084399 in _gst_get_native_code (methodOOP=0x40215758,
receiverClass=0x8206fa0) at xlat.c:3757
#55 0x080a5275 in _gst_send_method (methodOOP=0x1) at interp-jit.inl:263
#56 0x080a6cb7 in _gst_nvmsg_send (receiver=0x8206fa0,
sendSelector=0x40215758, args=0x0, sendArgs=0) at interp.c:2129
#57 0x080553b8 in _gst_execute_statements (temporaries=0x8206fa0,
statements=0x810a17c, quiet=true) at comp.c:664
#58 0x0804f614 in _gst_yyparse () at gst-parse.y:687
#59 0x08051bc0 in _gst_parse_stream () at lex.c:1118
#60 0x0804d4e3 in process_file (fileName=0xbfffec60
"/home/robertc/smalltwists/s/gnu-smalltalk--gtk-
bindings--2.1/kernel/FloatD.st") at lib.c:765
#61 0x0804d204 in load_standard_files () at lib.c:666
#62 0x0804cd30 in gst_init_smalltalk () at lib.c:512
#63 0x0804c183 in main (argc=136343456, argv=0x8206fa0) at main.c:48



Rob


-- 
GPG key available at: <http://www.robertcollins.net/keys.txt>.

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]