Christophe Rhodes <csr21@...> writes:
> "stassats" <stassats@...> writes:
>> + (do () (())
>> + (cond ((eql x y) (return t))
>> + ((and (consp x)
>> + (consp y)
>> + (eql (pop x) (pop y))))
>> + (t
>> + (return)))))
> Is (do () (()) ...) the same as (loop ...)?
It is, but seeing other parts not using LOOP, I opted for DO.
>> (if rest
>> (type-hash-value rest)
>> - (sxhash allowp))
>> + (if allowp
>> + #.(logand #xFF (sxhash t))
>> + #.(logand #xFF (sxhash nil))))
> I haven't looked at the code, but this looks wrong: there's no guarantee
> that SXHASH on the host (evaluated at #. read-time) is the same as
> SXHASH on the target; the read-time evaluation bakes-in a host value,
> and so is going to lead to changed behaviour depending on which host is
> used to build. Is this the cause of the speedup you refer to on IRC?
> If it is, maybe LOAD-TIME-VALUE works?
This part isn't particular slow, but the sxhash itself value isn't
important, perhaps a random value can be selected instead, just like the
With best regards, Stas.