<div dir="ltr"><div><div>Ah yes, you&#39;re right, why calling this primitive at all?<br></div><div>Note that I also changed stopConditions because 257-1 and 258-1 are valid Character codes<br>(A macron see for example <a href="http://tech.groups.yahoo.com/group/squeak/message/118800">http://tech.groups.yahoo.com/group/squeak/message/118800</a>)<br>
</div>So the primitive just has one less chance to work.<br>Anyway, would the primitive do kerning?<br><br>Maybe the primitive can still be useful for a simplified image like Cuis though (no internationalization). Did you take a look?<br>
</div>In which case we&#39;d better not remove it from COG.<br><div class="gmail_extra"><br><br><div class="gmail_quote">2013/7/22 tim Rowledge <span dir="ltr">&lt;<a href="mailto:tim@rowledge.org" target="_blank">tim@rowledge.org</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
On 21-07-2013, at 12:02 PM, Nicolas Cellier &lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>&gt; wrote:<br>
<br>
&gt; Clearly, character scanning inner loop is now written all in Smalltalk, and that seems efficient enough on our computers.<br>
<br>
</div>Well, when is efficient enough, enough? The first problem is that for every send to basicScanCharacters… we are wasting time on calling the prim and failing it after pointless work. Second is that we have no measurement for whether things would be faster with the prim working or not. I could easily believe that on a Cog vm it would be about the same either way, but only after seeing decent tests results.<br>

<div class="im"><br>
&gt; Is it a problem on Pi?<br>
<br>
</div>Performance wise, almost everything to do with running under Morphic is a problem. Run in an MVC project on a Pi and see it fly!<br>
<div class="im"><br>
&gt; IMHO, the thing to do would be to document the primitive as backward compatibility support only (interpreter VM)<br>
&gt; In case of COG, since there is no such backward compatibility anyway, drop the primitives.<br>
</div>&gt; Or rewrite them to support i18n…<br>
<br>
I&#39;d love to se some reasonable tests done to measure the effect of<br>
a) remove prim entirely<br>
b) fix prim (probably by actually faking up a test scanner class that doesn&#39;t break the prim rules)<br>
c)  machine differences -pc, mac, plain interp, cog, Pi, Pi stackvm<br>
<div class="im"><br>
<br>
tim<br>
--<br>
tim Rowledge; <a href="mailto:tim@rowledge.org">tim@rowledge.org</a>; <a href="http://www.rowledge.org/tim" target="_blank">http://www.rowledge.org/tim</a><br>
</div>Try not to let implementation details sneak into design documents.<br>
<br>
<br>
<br>
</blockquote></div><br></div></div>