<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Hi,<br>
<br>
that did the trick. An over 20 times improvement.<br>
<br>
So the culprit is mixed Integer and Float arithmetic.<br>
<br>
My code is:<br>
<br>
ml := Multiline1 new.<br>
ml station: #futm40 testRepeat: 1.<br>
ml station: #final testRepeat: 1.<br>
time := 0.<br>
1 to: 864000 do: [:i| <br>
ml doOneStep: time.<br>
i \\ 50 = 0 ifTrue: [ml canEnterNewRack ifTrue: <br>
[ml addRack: (B8DutRack fullOfB8MostCto) time: time].<br>
(ml canRemoveTestedRack: time) ifTrue: <br>
[ml removeRack: time]]. <br>
time := time + 1]. <br>
<br>
I changed time into a Float. In the Tally you will find
...canStartNextTest: time which does ^time > (testStart +
testDuration)<br>
<br>
testDuration is Float, time was Integer resulting in two
conversions.<br>
<br>
So you can print this snippet ant then change time to anInteger:<br>
Time millisecondsToRun: [<br>
|time testStart testDuration|<br>
time := 0.0.<br>
testDuration := 0.2.<br>
1 to: 100000 do: [:i| <br>
testStart := time - 1.<br>
time > (testStart + testDuration).<br>
time := time + 1.0]] <br>
<br>
In 3.8 the same operation brought down the timr from 158 to 139
seconds.<br>
<br>
<br>
<div class="moz-cite-prefix">Am 27.09.2013 14:20, schrieb Herbert
König:<br>
</div>
<blockquote cite="mid:5245780E.9000008@gmx.net" type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
Hi Nicolas,<br>
<br>
I don't print Floats consciously. Basically I do message sends,
iterate over collections and some mixed Integer and Float
arithmetic. <br>
<br>
This may be where the bitShift originates from. I'll make it all
Float to confirm the issue. <br>
<br>
For the interested, I simulate a production line in one second
steps (hence integer) but internally the times are Floats.<br>
<br>
Then I'll follow David's advice and report back.<br>
<br>
Attached are the spy results.<br>
<br>
<br>
<div class="moz-cite-prefix">Am 27.09.2013 13:06, schrieb Nicolas
Cellier:<br>
</div>
<blockquote
cite="mid:CAKnRiT4eW=gM43VpP8uY=+snBVJQcSgaiJkXkUbyyqbNjKx8aw@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>
<div>
<div>Hi Herbert,<br>
you can send the tally or a code snippet if you can
isolate the Pb.<br>
</div>
Something that is less efficient in 4.x trunk image (but
correct) is printing Float.<br>
This is because we now print the minimal decimal
representation that can be re-interpreted unchanged, while
we formerly printed an approximate decimal representation
that would not - several different Float did have the same
printString.<br>
</div>
Otherwise, there can be some other change...<br>
</div>
Also you'd better use the advanced tally from Andreas Raab if
you are using COG, because it's more accurate<br>
(I do not remember the details, where to find it, etc...).<br>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">2013/9/27 Herbert König <span
dir="ltr"><<a moz-do-not-send="true"
href="mailto:herbertkoenig@gmx.net" target="_blank">herbertkoenig@gmx.net</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex"> Hi
Folks,<br>
<br>
I'm doing some simulation in Squeak 3.8 and as some tests
ran over two minutes I decided to try a more recent image
with cog vm.<br>
<br>
To my surprise 4.4 took around 5 times as long as 3.8. I
believe I do nothing out of the ordinary here. Time is
spent in:<br>
24% SmallInteger>>negative; 22%
SmallInteger>>bitShift: (I don't use bitShift:
explicitly) and 20% Array>> collect:<br>
<br>
Which image and VM should I use to verify this before
sending the complete message tallies?<br>
<br>
Cheers<br>
<br>
Herbert<br>
<br>
I used the following recent image / vm:<br>
Image<br>
-----<br>
C:\daten\Squeak\4_4Dev\Squeak4.4-DCSE.image<br>
Squeak4.4<br>
latest update: #12333<br>
Current Change Set: Knacken mit APX<br>
Image format 6505 (32 bit)<br>
<br>
Virtual Machine<br>
---------------<br>
C:\daten\Squeak\4_4Dev\Squeak.exe<br>
Croquet Closure Cog VM [CoInterpreter
VMMaker.oscog-eem.302]<br>
Win32 built on Jul 15 2013 15:35:13 Compiler: 3.4.4
(cygming special, gdc 0.12, using dmd 0.125)<br>
platform sources revision VM: r2749 <a
moz-do-not-send="true"
href="http://www.squeakvm.org/svn/squeak/branches/Cog"
target="_blank">http://www.squeakvm.org/svn/squeak/branches/Cog</a>
Plugins: r2545 <a moz-do-not-send="true"
href="http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins"
target="_blank">http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins</a><br>
CoInterpreter VMMaker.oscog-eem.302 uuid:
2ac39432-ac54-4584-964e-b129c90792f4 Jul 15 2013<br>
StackToRegisterMappingCogit VMMaker.oscog-eem.302 uuid:
2ac39432-ac54-4584-964e-b129c90792f4 Jul 15 2013<br>
<br>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
</blockquote>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">
</pre>
</blockquote>
<br>
</body>
</html>