Friday, May 26, 2017

SBTCVM: Benchmarking

With a new execution log counter for seconds since start of execution, i decided to take a look at how well SBTCVM preforms.

if you are wondering what execution logs look like. Well, they are usually thousands and thousands of lines like this one:
data: 000000000 |Inst: --000- |adr: -----00+- |thread: -- |exec bank: A |reg1: 000++++++ |reg2: 000++++++ |tic #: 6590 |secs: 11.4083640575

tip: you can activate execution logging when launching with MK2-RUN.py by using the -le option.

That's from the end of colmap3's execlog to be exact. whats important here is "tic #" and "secs" by dividing the clock tic number by the time passed (secs), we can get the operations/second value of 577.

ranging from 607 operations/second for a stripped down variant of the
"Dazzle" demo, to 286 for the Fibonacci demo, after calculating the average operations/second for several SBTCVM programs, it means out to around the ~460 operations/second range on a 64bit AMD A4 dual core on a puny 11 inch wide laptop.

with some CPU delay adjustment (I increased the delay time from 0.0005 to 0.001 seconds) I was even able to get SBTCVM Mark 2 working on a 1.4Ghz Pentium 4 with ~400MB ram. so no, you don't need a high end binary number-cruncher to run SBTCVM.

like any virtual machine, mileage WILL vary, as many factors affect how well SBTCVM preforms.

No comments:

Post a Comment