<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
</head>
<body>
<p>I still do not know how I could print debug info to stdout, in a
Squeak Plugin primitive. Hopefully I'll learn. This would be such
a blessing! Please guide me!<br/>
</p>
<p>In the meantime, I have written all GF methods as primitives,
including #decode:twoS:, #runEuclideanAlgorithm adn #dividePoly:,
though these 3 are not being called from the DecoderWithPlugin or
GFPolyWithPlugin. The only new primitive is
GFPoly>>#initializeFiled:coefficients:. Here are the
numbers, with RSFEC Tests only.<br/>
</p>
<p>---</p>
<blockquote>
<p>WITH RSPlugin {RSFEC Tests}<br/>
<br/>
- 47765 tallies, 61320 msec.<br/>
<br/>
Overall performance increase with and without RSPlugin: 54%<br/>
((116473 - 53364) / 116473) asFloat * 100 54.183372970559695 <br/>
<br/>
Total WITH RSPlugin rates<br/>
(13687 + 14730 + 24947) 53364 <br/>
</p>
<p>Without RSPlugin 116473</p>
<p>RSFEC 53%<br/>
((13687 + 14730)/ 53364) asFloat * 100 53.25125552807136 <br/>
Numerical 47%<br/>
(24947 / 53364) asFloat * 100 46.748744471928646 <br/>
<br/>
**Leaves**<br/>
Unpluginized<br/>
(12303 + 1384) 13687 <br/>
20.1% {12303ms} RSFECDecoderWithPlugin>>decode:twoS:<br/>
2.3% {1384ms}
RSFECDecoderWithPlugin>>runEuclideanAlgorithmPoly:poly:rDegrees:<br/>
<br/>
Pluginized<br/>
(7532 +2877 + 2262 + 1200 + 859) 14730 <br/>
12.3% {7532ms} RSFECGenericGFPoly
class>>newField:coefficients:<br/>
4.7% {2877ms}
RSFECDecoderWithPlugin>>primFindErrorLocationsDegree:coefficients:fieldSize:<br/>
3.7% {2262ms}
RSFECGenericGFPolyWithPlugin>>addOrSubtractPoly:<br/>
2.0% {1200ms}
RSFECDecoderWithPlugin>>findErrorMagnitudes:errorLocations:<br/>
1.4% {859ms} RSFECGenericGFWithPlugin>>log:<br/>
<br/>
Numerical<br/>
(4269 + 3571 + 2909 + 2820 + 2093 + 1602 + 1578 + 1530 + 1383 +
877 + 847 + 815 + 653) 24947 <br/>
7.0% {4269ms} LargePositiveInteger(Integer)>>bitShift:<br/>
5.8% {3571ms} SecureHashAlgorithm>>finalHash<br/>
4.7% {2909ms} ByteArray class(Behavior)>>new:<br/>
4.6% {2820ms} LargePositiveInteger>>+<br/>
3.4% {2093ms} IdentityDictionary(Dictionary)>>at:ifAbsent:<br/>
2.6% {1602ms} ByteSymbol(Object)>>-><br/>
2.6% {1578ms}
WeakIdentityKeyDictionary(WeakKeyDictionary)>>at:ifAbsent:<br/>
2.5% {1530ms} SecureHashAlgorithm>>hashInteger:seed:<br/>
2.3% {1383ms} SecureRandom>>nextRandom160<br/>
1.4% {877ms} SmallInteger(Magnitude)>>between:and:<br/>
1.4% {847ms} ByteArray>>unsignedLongAt:put:bigEndian:<br/>
1.3% {815ms} [] Delay>>wait<br/>
1.1% {653ms} SmallInteger(Integer)>>timesRepeat:<br/>
<br/>
</p>
</blockquote>
<div class="moz-signature">-- <br/>
---<br/>
Kindly,<br/>
Robert<br/>
<br/>
<br/>
</div>
</body></html>