benchmark: 4×64-bit limbs — verify 3,954 ops/s (3.7x), sign 7,360 ops/s (2.1x)
Initial benchmark results with the LongArray(4) + Math.multiplyHigh representation. Machine was under variable load so ratios fluctuate, but the improvement trend is clear: verifySchnorr: 3,954 ops/s (3.7× vs native, was 7.2×) signSchnorr cached: 7,360 ops/s (2.1× vs native, was 2.2×) pubkeyCreate: 17,896 ops/s (2.4× vs native, was 3.4×) The 4×64 representation reduces field multiplication inner products from 64 to 16 (4×4 with unsignedMultiplyHigh). The unsigned carry detection overhead partially offsets the gain, giving ~1.5× raw mul speedup. Still needs: fix NIP-44 vector 32 (n-8 scalar edge case). https://claude.ai/code/session_01BhU63WUe9AhikZxRdw3Lpg
This commit is contained in: