[Ecls-list] Type propagation

Gabriel Dos Reis gdr at integrable-solutions.net
Fri May 28 20:28:41 UTC 2010


On Fri, May 28, 2010 at 3:14 PM, Juan Jose Garcia-Ripoll
<juanjose.garciaripoll at googlemail.com> wrote:
>
>
> On Wed, May 26, 2010 at 11:09 PM, Juan Jose Garcia-Ripoll
> <juanjose.garciaripoll at googlemail.com> wrote:
>>
>> I have stripped down and reimplemented the type propagator. Right now it
>> is kind of stable and implements forward type propagation for most forms.
>> You will see, however, some harmless notes such as the following one.
>> ;;; Note:
>> ;;;   Refusing to propagate FUNCTION
>> The result is that some benchmarks are now dominated by stupid statements
>> in them (ASSERT) (SBCL first column, ECL tonight second, ECL 10.4.1 last)
>> 1D-ARRAYS                [      0.03]   1.00  2.67
>> 2D-ARRAYS                [      0.24]   3.04  7.17
>> 3D-ARRAYS                [      0.68]   2.19  11.78
>
> Ok, so this is how it looks now on a newer version that implements type
> propagation, fixes type propagation for arrays and takes a different, more
> efficient approach to the problem of unboxing temporaries.
> 1D-ARRAYS                [      0.03]   1.67   2.67
> 2D-ARRAYS                [      0.24]   0.75   7.17
> 3D-ARRAYS                [      0.68]   0.68  11.78
> 1D-ARRAYS is dominated by an assertion and in particular by the call to
> SEARCH, a function which I have not optimized. If I change the test as shown
> below, with more iterations, no call to SEARCH and yet fully executed (not
> optimized away), then the comparison is more fair: ECL performs equally well
> or better than SBCL (remember that numbers are relative to the reference)

Ok, thanks for the update!  I'll build OpenAxiom later and report
whatever I found.
I suspect that improvement for 1D-ARRAYS will be beneficial to many
ECL users :-)
Agains, thanks!

-- Gaby




More information about the ecl-devel mailing list