[Cryptography Team] Reed Solomon Erasure Coding and Error Correction

Robert Withers robert.withers at pm.me
Wed May 26 17:52:09 UTC 2021


Whoops, I repeated myself. So sorry. The pertinent profiling for Error
Correction is:

Do not allow values equal to the max 256.  it passes tests but it is
VERY SLOOOW. Profile looks like, top tree branches, then summary. I may
need to pluginize both GF and GFPoly. The costly methods are in decode,
with GF Polynomial evaluation, the Euclidean Algorithm, the Chein's
search (#findErrorLocations) and the Forney's formula
(#findErrorMagnitudes). In the leaves, I can see that OrderedColection
access is expensive.

Top tree branches:
[|    93.7% {136540ms} RSFECDecoder>>decode:twoS:
[|      40.1% {58370ms} RSFECGenericGFPoly>>evaluateAt:
[|      38.5% {56167ms}
RSFECDecoder>>runEuclideanAlgorithmPoly:poly:rDegrees:
[|      12.6% {18331ms} RSFECDecoder>>findErrorLocations:
[|      2.3% {3423ms} RSFECDecoder>>findErrorMagnitudes:errorLlocations:
[    5.4% {7842ms} RSFECReedSolomonTest>>corrupt:howMany:random:max:


**Leaves**
44.7% {65149ms} OrderedCollection>>at:
12.8% {18619ms} SmallInteger(Number)>>positive
8.0% {11589ms} RSFECGenericGF>>addOrSubtract:by:
5.7% {8332ms} RSFECGenericGF>>multiply:by:
5.0% {7352ms} RSFECGenericGFPoly>>evaluateAt:
5.0% {7270ms} OrderedCollection>>at:put:
4.6% {6727ms} False>>|
1.7% {2537ms} RSFECGenericGFPoly>>addOrSubtractPoly:
1.4% {1996ms}
OrderedCollection(SequenceableCollection)>>replaceFrom:to:with:startingAt:
1.3% {1851ms} RSFECGenericGFPoly>>multiplyByMonomialDegree:coefficient:
1.1% {1562ms} LargePositiveInteger(Integer)>>bitShift:

**Memory**
     old            -16,777,216 bytes
     young        +15,072,816 bytes
     used        -1,704,400 bytes
     free        -15,072,816 bytes

**GCs**
     full            2 totalling 171 ms (0.12% uptime), avg 85.5 ms
     incr            4193 totalling 764 ms (0.5% uptime), avg 0.2 ms
     tenures        6,093 (avg 0 GCs/tenure)
     root table    0 overflows

Kindly, Robert




More information about the Cryptography mailing list