<HTML dir=ltr><HEAD><TITLE>Re: [Simh] Simh execution speed improvement - about 45% improvement.</TITLE>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<META content="MSHTML 6.00.6000.16587" name=GENERATOR></HEAD>
<BODY>
<DIV id=idOWAReplyText66793 dir=ltr>
<DIV dir=ltr><FONT face=Arial color=#000000 size=2>Hi, Marc</FONT></DIV>
<DIV dir=ltr><FONT face=Arial color=#000000 size=2></FONT> </DIV>
<DIV dir=ltr><FONT face=Arial size=2>I am quite impressed by your very high VUPS results!<BR>I did try to reproduce your results, with a sun sunfire 4100 equipped with two single core opteron CPUs running at 2.2GHz, with solaris 10 and sunstudio 11 to compile simh.  Unfortunately, I am a newbie on solaris.</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2></FONT> </DIV>
<DIV dir=ltr><FONT face=Arial size=2>First I did not succeed in compiling simh with sunstudio.  I received a huge number of errors of the compiler that complains there are some illegal blanks.  Is there a switch to pass on to the compiler?</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2></FONT> </DIV>
<DIV dir=ltr><FONT face=Arial size=2>I then did compile on the same platform with gcc and gmake, simh 3.7-3 unmodified, and it gave me 12.0 VUPS.</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2>with the modified (the memory access functions declared as inline) vax_cpu.c it gave me 15.0 VUPS.</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2>Both speed results are too low for my target setup to be usable.</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2></FONT> </DIV>
<DIV dir=ltr><FONT face=Arial size=2>So, i would very very much appreciate if you can give me a few pointers:</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2>1) what is your machine make, model, CPU type and speed?</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2>2) What should i use as arguments in sunstudio to build simh?  Do I use the provided makefile, or should I try to generate a new one?</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2></FONT> </DIV>
<DIV dir=ltr><FONT face=Arial size=2>Thanks in advance,</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2></FONT> </DIV></DIV>
<DIV id=idSignature37190 dir=ltr>
<DIV><FONT face=Arial color=#000000 size=2>François Boucher ing</FONT></DIV></DIV>
<DIV dir=ltr><BR>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>De:</B> Marc Chametzky [mailto:marc@bluevine.net]<BR><B>Date:</B> ven. 2008-01-11 16:45<BR><B>À:</B> Boucher, François<BR><B>Cc:</B> simh@trailing-edge.com<BR><B>Objet :</B> Re: [Simh] Simh execution speed improvement - about 45% improvement.<BR></FONT><BR></DIV>
<DIV>
<P><FONT size=2>> After that, I did compile simh to include the profiling code (by adding<BR>> –pg on the gcc command line).  After studying the profiling, I saw that<BR>> the functions that reads and writes to RAM and ROM are the ones that are<BR>> executed 50% of the time<BR><BR>> The solution is: by declaring those functions as inline!<BR><BR>On my Solaris 10 x64 (AMD Athlon 64 3200+) system, I was already<BR>building the VAX emulator in 64-bit mode using the Sun Studio 11<BR>compiler with the "-m64" switch, and with that, my CALCULATE_VUPS.COM<BR>procedure reported 38.0.<BR><BR>After making the changes to vax_cpu.c, and otherwise leaving everything<BR>else the same, I'm now getting 50.0, a 32% improvement.<BR><BR>Of course, running DCL scripts to approximate computing performance only<BR>gives a rough estimate, but it certainly appears that it's emulating the<BR>VAX more efficiently now.<BR><BR>--Marc<BR></FONT></P></DIV></BODY></HTML>