<div dir="ltr">For this case, it can infer everything. It does not yet optimize successfully the loop without crashes.<div><br></div><div>But it's been almost 5 years that the Sista project has been going on. When I started, there was already a prototype. It took 3 years to get benchmarks running with little speed-ups. It took a 4th year to get benchmarks showing 2x performance boost and have a benchmark at 10x to show the potential of Scorch. There is still so much to do to get it to production... </div><div><br></div><div>Specifically, there are specificities to our closures: we don't have LIFO closure like Lars' Smalltalks, we have a reference to outerContext unlike Javascript, etc. That's a problem mostly solved with FullBlocks but there's still so much work to do there.</div><div><br></div><div>I don't know if on the short term we should take decisions on how to write code in our code bases based on Scorch. <br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 7, 2018 at 5:12 PM, Eliot Miranda <span dir="ltr"><<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <br>
Hi Clément,<br>
<br>
    I provoked some protest last week by rewriting<br>
<br>
String>>isAsciiString<br>
    ^self allSatisfy: [ :each | each asciiValue <= 127 ]<br>
<br>
as <br>
<br>
String>>isAsciiString<br>
    1 to: self basicSize do: [:i| (self basicAt: i) > 127 ifTrue: [^false]].<br>
    ^true<br>
<br>
The speed up is around 5x to 6x.<br>
<br>
The question comes does Scorch know that it can implicitly obtain Character asciiValue by substituting a suitable basicAt: for the at:, or is the chain of inference too complex (as yet)?<br>
<br>
_,,,^..^,,,_ (phone)</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><span style="font-size:12.8px">Clément Béra<br></span><span style="color:rgb(0,0,238)"><a href="https://clementbera.github.io/" target="_blank">https://clementbera.github.io/</a></span><div style="font-size:12.8px"><a href="https://clementbera.wordpress.com/" target="_blank">https://clementbera.wordpress.com/</a></div></div></div></div></div></div>
</div>