[Info-vax] Performance benchmarks, was: Re: VMS Software Inc. OpenVMS 8.4-1H1 Boots on i4 System
David Froble
davef at tsoft-inc.com
Thu Mar 19 01:51:14 EDT 2015
Simon Clubley wrote:
> On 2015-03-18, Michael Moroney <moroney at world.std.spaamtrap.com> wrote:
>> "Robert A. Brooks" <FIRST.LAST at vmssoftware.com> writes:
>>
>>> I don't think there will be much interest by anyone at VSI in playing
>>> around with anything related to the VAX in the near- or mid-term, as we
>>> have enough stuff on our collective plates.
>> I don't know. I entertained a few with a Raspberry Pi emulating a VAX
>> 3900.
>
> Are there any currently accepted (and freely available) tools for
> benchmarking the performance of VMS systems ? It would be interesting
> to see relative performance both on physical hardware and emulated
> hardware (such as the above as well as the various Alpha emulators).
>
> I'm not looking for something which is industrial strength, but rather
> a tool to get a quick feeling for relative performance between various
> hardware options.
>
> Thanks,
>
> Simon.
>
Ah, yes, I think we can dig up something ..
:-)
$! CALCULATE_VUPS:
$!
$ set noon
$ orig_privs = f$setprv("ALTPRI")
$ process_priority = f$getjpi(0,"PRIB")
$ cpu_multiplier = 10 ! VAX = 10 - Alpha/AXP = 40
$ cpu_round_add = 1 ! VAX = 1 - Alpha/AXP = 9
$ cpu_round_divide = cpu_round_add + 1
$ init_counter = cpu_multiplier * 525
$ init_loop_maximum = 205
$ start_cputime = f$getjpi(0,"CPUTIM")
$ loop_index = 0
$ 10$:
$ loop_index = loop_index + 1
$ if loop_index .ne. init_loop_maximum then goto 10$
$ end_cputime = f$getjpi(0,"CPUTIM")
$ init_vups = ((init_counter / (end_cputime - start_cputime) + -
cpu_round_add) / cpu_round_divide) * cpu_round_divide
$ loop_maximum = (init_vups * init_loop_maximum) / 10
$ base_counter = (init_counter * init_vups) / 10
$ vups = 0
$ times_through_loop = 0
$ 20$:
$ start_cputime = f$getjpi(0,"CPUTIM")
$ loop_index = 0
$ 30$:
$ loop_index = loop_index + 1
$ if loop_index .ne. loop_maximum then goto 30$
$ end_cputime = f$getjpi(0,"CPUTIM")
$ new_vups = ((base_counter / (end_cputime - start_cputime) + -
cpu_round_add) / cpu_round_divide) * cpu_round_divide
$ if new_vups .eq. vups then goto 40$
$ vups = new_vups
$ times_through_loop = times_through_loop + 1
$ if times_through_loop .le. 5 then goto 20$
$ 40$:
$ new_privs = f$setprv(orig_privs)
$ set message /nofacility/noidentification/noseverity/notext
$! ASSIGN/SYSTEM/EXEC 'vups' MACHINE_VUPS_RATING
$ set message /facility/identification/severity/text
$ write sys$output "Approximate System VUPs Rating : ", -
vups / 10,".", vups - ((vups / 10) * 10)
$ exit
More information about the Info-vax
mailing list