<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=windows-1252"
 http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Seth Morabito wrote:
<blockquote
 cite="mida7fd63fa0801111239x372642c0p15a78e816de585c7@mail.gmail.com"
 type="cite">
  <div>On 1/11/08, <b class="gmail_sendername">Boucher, François</b> <<a
 href="mailto:boucher.francois@uqam.ca">boucher.francois@uqam.ca</a>>
wrote:</div>
  <div>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">
    <div link="blue" vlink="purple" lang="FR-CA">
    <div>
    <p><font face="Arial" size="2"><span
 style="font-size: 10pt; font-family: Arial;" lang="EN-CA">Hi!</span></font></p>
    <p><font face="Arial" size="2"><span
 style="font-size: 10pt; font-family: Arial;" lang="EN-CA"> </span></font></p>
    <p><font face="Arial" size="2"><span
 style="font-size: 10pt; font-family: Arial;" lang="EN-CA">I would like
to share with members of the simh community some little improvements to
obtain an executable code of simh that runs faster.  My personnal
results gave me an improvement of passing from 17.2 VUPS to 25.0 VUPS
on the same machine – about 45% execution speed improvement.</span></font></p>
    </div>
    </div>
  </blockquote>
  </div>
  <div><br class="webkit-block-placeholder">
  </div>
Impressive!  If I understand correctly, SIMH was never meant for
production use, but rather designed for historical accuracy and
preservation.  Nevertheless, many people in the community have found
that it fills a need, and have taken the effort to investigate how the
code can be adopted to daily production use.  Kudos to everyone
involved, especially Bob Supnik and the other core SIMH contributors
for making it all possible in the first place.
  <div><br class="webkit-block-placeholder">
  </div>
  <div>-Seth<br>
  <br>
  </div>
</blockquote>
Impressive indeed... Impressive enough to get me to do a little
semi-scientific experiment. Kudos to <span class="gmail_sendername">François
for doing the runtime profiling. The results aren't supprising, but it
is important to have solid solid data rather than guesses.</span><br>
<br>
I normally play with the Interdata 32 bit emulator instead of the VAX.
I also normally compile with no optimization specified because it makes
debuggers easier to use. This was a big enough performance bump to get
my attention, however.<br>
<br>
I compiled id32 four different ways, to test two different variables.
To check the effect of optimization I compiled with default (no?)
optimization and with -O9. To check the effect of inlining I used my
current development version of id32_cpu.c and a version edited to
inline the memory access and relocation/protection functions. I used
the GCC compiler Sun shipped with Solaris 10 11/06. I did not have a
formal benchmark handy so I used a reasembly of the mag tape driver.
Times reported are minutes:seconds based on time of day as reported by
OS/32, which does well on overnight clock drift testing.<br>
<br>
<tt>             |    Optimization       |<br>
             | default  | -O9        |<br>
not-inlined  |  1:13    |  0:28      |<br>
inlined      |  1:12    |  0:28      |<br>
<br>
</tt>I'd be inclined not to tinker with the source based on these
results, but rather trust the compiler to do the right thing.<br>
<br>
I would be interested to see the same four numbers for the VAX, results
may be different.<br>
<tt><br>
</tt>
</body>
</html>