Hi,

I'm tinkering with the source of RPCEmu on Linux at the moment.  Spoon
Edition, but it doesn't make any difference.  I've some things I'd like
to try that may speed it up but I'm wary that they may have the opposite
effect so I'm trying to get consistent performance measurements before I
make any changes.

I'm booting into !SICK and when that's done, cause rpcemu to exit with a
bad opcode by having a little Absolute 'stopemu' file.  I run that three
times from a shell script, saving SICK's Results file to a unique file
each time.  At the end, I pull out various numbers.

Here's some results from a fairly quiet machine.

    Integer:                          147306.8 Dhrystones/sec
    Integer:                          124508.4 Dhrystones/sec
    Integer:                          156473.5 Dhrystones/sec
    Floating point:                   787.3221 kWhetstones/sec
    Floating point:                   940.2416 kWhetstones/sec
    Floating point:                   764.6787 kWhetstones/sec
    Cache read:                     600.1 Mbytes/sec
    Cache read:                     557.9 Mbytes/sec
    Cache read:                     543.1 Mbytes/sec
    Cache write:                    609.1 Mbytes/sec
    Cache write:                    479.8 Mbytes/sec
    Cache write:                    609.6 Mbytes/sec
    Screen memory read:             -12230000 bytes/sec
    Screen memory read:             258.4 Mbytes/sec
    Screen memory read:             252.6 Mbytes/sec
    Screen memory write:            -13110000 bytes/sec
    Screen memory write:            101.8 Mbytes/sec
    Screen memory write:            104.5 Mbytes/sec

Pretty much all over the place, even ignoring the negative screen memory
ones.  I get more success with /usr/bin/time, not the shell's built-in
time.

    time: 71.30 0.52 pfault: 0 12717 switch: 23875 54902
    time: 63.52 0.36 pfault: 0 12719 switch: 21927 49485
    time: 63.00 0.43 pfault: 0 12716 switch: 21951 49503

That's user and system CPU seconds, major and minor page faults, and
context switches, involuntary and voluntary.  At least runs 2 and 3 were
close there.

So, how do others do it?  Because Allegro is used, valgrind and
cachegrind can't be used;  Allegro doesn't play nicely with them.  :-(
I've also found !SICK to take a long time per run, over a minute as the
above shows, so am thinking of just having my own BASIC program that
does a few things.  Anyone got one already done?

Cheers,


Ralph.


_______________________________________________
Rpcemu mailing list
[email protected]
http://www.riscos.info/cgi-bin/mailman/listinfo/rpcemu

Reply via email to