<div>From running the ANSI test suite</div><div><br></div><div>real time : 189.953 secs</div><div>run time  : 99.580 secs</div><div><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><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><br></div><div>to this</div><div><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) {</div>

<div><br></div><div>This kind of things always amaze me.</div><div><br></div><div>BTW, before the quest for optimizations began, ECL used around 126 seconds to run the test suite.</div><div><br></div><div>Juanjo</div></div>

<br>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://tream.dreamhosters.com">http://tream.dreamhosters.com</a><br>