<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Mar 18, 2009, at 4:09 AM, Gary Byers wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><<a href="http://clozure.com/pipermail/openmcl-devel/2009-January/008832.html">http://clozure.com/pipermail/openmcl-devel/2009-January/008832.html</a>><br>tried to answer the same question when it was asked a few weeks later.<br></div></blockquote><div><br></div><div><br></div><div>this one mostly talks about the difference between PPC and 86-64. I understand the "one register short" argument between 86-64 and PPC. Do I get this right: in essence the 86-64 ff call requires 2 additional system calls to compensate for missing PPC RISC registers, right? But how come the 86-32 is faster? How does the register  versus need for syscalls tradeoff change in 32bit assuming there are no additional registers available in 32bit? Does the 32bit call use 64bit register to store 2 x 32bit info and therefore double in essence the number of registers, which is turn, allows it to avoid the syscalls?</div><div><br></div><div>alex</div><br><blockquote type="cite"><div><br>On Wed, 18 Mar 2009, R. Matthew Emerson wrote:<br><br><blockquote type="cite"><br></blockquote><blockquote type="cite">On Mar 18, 2009, at 2:16 AM, Alexander Repenning wrote:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><blockquote type="cite">Playing around with some direct mode (i.e., not super efficient)<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">OpenGL code we notice some big speed differences:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">The time to draw a cube (4 sides only actually):<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">1.66 Ghz PPC Mac:   MCL 88 us,  CCL 1.3 60us<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">2.6 Ghz Intel Mac: CCL 1.3 32bit: 33us  CCL 1.3 64bit 92us<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">I remember we had a discussion on PPC versus Intel call overhead but I<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">am a bit surprised about 64bit Intel Mac CCL on a much faster machine,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">even ignoring the faster GPU, is slower than MCL on the old PPC.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Notice, the OpenGL commands are pretty trivial. Most of the time is<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">spent in the foreign function call overhead. How can CCL 32bit Intel<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Mac be  3x faster than 64bit ?<br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">The first several paragraphs of the following message talk about this.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><a href="http://clozure.com/pipermail/openmcl-devel/2008-December/008766.html">http://clozure.com/pipermail/openmcl-devel/2008-December/008766.html</a><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">In summary, due to missing functionality on Darwin/x8664 (no way to<br></blockquote><blockquote type="cite">set the fsbase MSR) we resort to a workaround that involves performing<br></blockquote><blockquote type="cite">a system call before and after each ff-call.  When the foreign<br></blockquote><blockquote type="cite">function doesn't do a lot of work, this overhead is significant.<br></blockquote><blockquote type="cite">(When the foreign code does something expensive, like I/O, the<br></blockquote><blockquote type="cite">overhead matters less.)<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">On Darwin/x8632, we don't have to do the workaround, so ff-calls are<br></blockquote><blockquote type="cite">cheaper.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">Openmcl-devel mailing list<br></blockquote><blockquote type="cite"><a href="mailto:Openmcl-devel@clozure.com">Openmcl-devel@clozure.com</a><br></blockquote><blockquote type="cite"><a href="http://clozure.com/mailman/listinfo/openmcl-devel">http://clozure.com/mailman/listinfo/openmcl-devel</a><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote>_______________________________________________<br>Openmcl-devel mailing list<br><a href="mailto:Openmcl-devel@clozure.com">Openmcl-devel@clozure.com</a><br>http://clozure.com/mailman/listinfo/openmcl-devel<br><br></div></blockquote></div><br><div apple-content-edited="true"> <div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><p style="margin: 0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" size="3" style="font: 12.0px Helvetica">Prof. Alexander Repenning</font></p><p style="margin: 0.0px 0.0px 0.0px 0.0px"><br class="khtml-block-placeholder"></p><p style="margin: 0.0px 0.0px 0.0px 0.0px">University of Colorado</p><p style="margin: 0.0px 0.0px 0.0px 0.0px">Computer Science Department</p><p style="margin: 0.0px 0.0px 0.0px 0.0px">Boulder, CO 80309-430</p><p style="margin: 0.0px 0.0px 0.0px 0.0px"><br class="khtml-block-placeholder"></p><p style="margin: 0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" size="3" style="font: 12.0px Helvetica">vCard: <a href="http://www.cs.colorado.edu/~ralex/AlexanderRepenning.vcf">http://www.cs.colorado.edu/~ralex/AlexanderRepenning.vcf</a></font></p><br class="Apple-interchange-newline"></div> </div><br></body></html>