Hey all'y'all,
I got the plugins working correctly. Published to Cryptography.
The plugins are attached. Unfortunately profiling indicates a slow
down. The leaves did change from GaloisField methods to
GaloisFieldPoly methods. I will work on pluginizing the GFPoly
methods, such as #evaluateAt: &
#multiplyByMonomialDegree:coefficient:...
Here are the results without plugins (135 seconds):
WITHOUT PLUGINS
- 132032 tallies, 135390 msec.
**Tree**
--------------------------------
Process: (40) 57626: nil
--------------------------------
**Leaves**
16.9% {22843ms} RSFECGenericGF>>exp:
9.2% {12450ms} RSFECGenericGF>>maskValue:
8.6% {11659ms} RSFECGenericGF>>addOrSubtract:by:
7.2% {9806ms} RSFECGenericGF>>log:
6.6% {8958ms} RSFECGenericGF>>normalizeIndex:
4.9% {6578ms} RSFECGenericGF>>multiply:by:
2.3% {3130ms} RSErasureGalois>>maskValue:
2.3% {3118ms} RSFECGenericGFPoly>>evaluateAt:
1.6% {2175ms} RSErasureGalois>>normalizeIndex:
1.3% {1718ms} RSFECGenericGFPoly>>addOrSubtractPoly:
1.3% {1702ms} RSFECGenericGFPoly>>multiplyByMonomialDegree:coefficient:
1.2% {1606ms} RSErasureGalois>>log:
1.1% {1516ms} RSErasureGalois>>galoisMultiply:by:
And here are the results with plugins (152 seconds):
WITH PLUGINS
- 149040 tallies, 152531 msec.
**Tree**
--------------------------------
Process: (40) 89223: nil
--------------------------------
**Leaves**
27.9% {42565ms} RSFECGenericGFWithPlugin>>addOrSubtract:by:
17.3% {26440ms} RSFECGenericGFPoly>>evaluateAt:
8.5% {12926ms} RSFECGenericGFWithPlugin>>maskValue:
7.3% {11062ms} RSFECGenericGFPoly>>multiplyByMonomialDegree:coefficient:
6.5% {9854ms} RSFECGenericGFPoly>>addOrSubtractPoly:
5.6% {8598ms} RSFECGenericGFWithPlugin>>multiply:by:
2.6% {4032ms} RSErasureGaloisWithPlugin>>galoisMultiply:by:
2.4% {3601ms} RSErasureGaloisWithPlugin>>addOrSubtract:by:
2.1% {3137ms} RSErasureGaloisWithPlugin>>maskValue:
1.6% {2436ms} RSFECGenericGFPoly>>multiplyPoly: