<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.3354" name=GENERATOR></HEAD>
<BODY>
<BLOCKQUOTE
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> Juan Jose Garcia-Ripoll
[mailto:juanjose.garciaripoll@googlemail.com] <BR><B>Sent:</B> Saturday, June
05, 2010 1:26 PM<BR></FONT></DIV>
<DIV></DIV>
<DIV>From running the ANSI test suite</DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT><FONT face=Arial
color=#0000ff size=2></FONT><BR></DIV>
<DIV>real time : 189.953 secs</DIV>
<DIV>run time : 99.580 secs</DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT><FONT face=Arial
color=#0000ff size=2></FONT><FONT face=Arial color=#0000ff
size=2></FONT><BR></DIV>
<DIV>Yesterday the run time was around 109 secs. The change? ecl_eql() now
returns immediately when the types are immediates (i.e. EQL is EQ for them).
In other words, changing</DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT><FONT face=Arial
color=#0000ff size=2></FONT><BR></DIV>
<DIV>
<DIV>bool</DIV>
<DIV>ecl_eql(cl_object x, cl_object y)</DIV>
<DIV>{</DIV>
<DIV><SPAN class=Apple-tab-span style="WHITE-SPACE: pre"></SPAN>cl_type
t;</DIV>
<DIV><SPAN class=Apple-tab-span style="WHITE-SPACE: pre"></SPAN>if (x ==
y)</DIV>
<DIV><SPAN class=Apple-tab-span style="WHITE-SPACE: pre"></SPAN>return
TRUE;</DIV>
<DIV> t = type_of(x);</DIV>
<DIV> if (t != type_of(y))</DIV>
<DIV> return
FALSE;</DIV>
<DIV><SPAN class=Apple-tab-span style="WHITE-SPACE: pre"></SPAN>switch (t)
{</DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT><FONT face=Arial
color=#0000ff size=2></FONT><BR></DIV>
<DIV>to this</DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT><FONT face=Arial
color=#0000ff size=2></FONT><BR></DIV></DIV>
<DIV>
<DIV>bool</DIV>
<DIV>ecl_eql(cl_object x, cl_object y)</DIV>
<DIV>{</DIV>
<DIV><SPAN class=Apple-tab-span style="WHITE-SPACE: pre"></SPAN>if (x ==
y)</DIV>
<DIV><SPAN class=Apple-tab-span style="WHITE-SPACE: pre"></SPAN>return
TRUE;</DIV>
<DIV> if (IMMEDIATE(x) || IMMEDIATE(y))</DIV>
<DIV> return
FALSE;</DIV>
<DIV> if (x->d.t != y->d.t)</DIV>
<DIV> return
FALSE;</DIV>
<DIV><SPAN class=Apple-tab-span style="WHITE-SPACE: pre"></SPAN>switch
(x->d.t) {<SPAN class=174522910-09062010><FONT face=Arial color=#0000ff
size=2> </FONT></SPAN></DIV>
<DIV><SPAN class=174522910-09062010><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV></DIV></BLOCKQUOTE>
<DIV><SPAN class=174522910-09062010><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=174522910-09062010><FONT face=Arial color=#0000ff size=2>IMHO
changing </FONT></SPAN></DIV>
<DIV><SPAN class=174522910-09062010> t = type_of(x);</SPAN></DIV>
<DIV><SPAN class=174522910-09062010><FONT face=Arial color=#0000ff
size=2> with consequent usage of "t" </FONT></SPAN><SPAN
class=174522910-09062010>into "x->d.t" is not adding speed: previously
expression "x->d.t" was calculated only once, and now it is calculated
several times.</SPAN></DIV>
<DIV><SPAN class=174522910-09062010><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=174522910-09062010><FONT face=Arial color=#0000ff size=2>the
difference could be too low to notice it, but it is a small step back, seems to
me...</FONT></SPAN></DIV>
<DIV><SPAN class=174522910-09062010><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=174522910-09062010><FONT face=Arial color=#0000ff
size=2>Regards,</FONT></SPAN></DIV>
<DIV><SPAN class=174522910-09062010><FONT face=Arial color=#0000ff
size=2>Vadim.</FONT></SPAN></DIV></BODY></HTML>