<!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>