@bsv/sdk 1.5.3 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/src/overlay-tools/LookupResolver.js +0 -4
- package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +0 -2
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/cjs/src/primitives/AESGCM.js +113 -137
- package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
- package/dist/cjs/src/primitives/BigNumber.js +1019 -3947
- package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
- package/dist/cjs/src/primitives/K256.js +53 -37
- package/dist/cjs/src/primitives/K256.js.map +1 -1
- package/dist/cjs/src/primitives/Mersenne.js +16 -21
- package/dist/cjs/src/primitives/Mersenne.js.map +1 -1
- package/dist/cjs/src/primitives/MontgomoryMethod.js.map +1 -1
- package/dist/cjs/src/primitives/utils.js +27 -17
- package/dist/cjs/src/primitives/utils.js.map +1 -1
- package/dist/cjs/src/script/Spend.js +618 -858
- package/dist/cjs/src/script/Spend.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/overlay-tools/LookupResolver.js +0 -4
- package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +0 -2
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/esm/src/primitives/AESGCM.js +112 -137
- package/dist/esm/src/primitives/AESGCM.js.map +1 -1
- package/dist/esm/src/primitives/BigNumber.js +1011 -3969
- package/dist/esm/src/primitives/BigNumber.js.map +1 -1
- package/dist/esm/src/primitives/K256.js +53 -37
- package/dist/esm/src/primitives/K256.js.map +1 -1
- package/dist/esm/src/primitives/Mersenne.js +16 -21
- package/dist/esm/src/primitives/Mersenne.js.map +1 -1
- package/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -1
- package/dist/esm/src/primitives/utils.js +29 -17
- package/dist/esm/src/primitives/utils.js.map +1 -1
- package/dist/esm/src/script/Spend.js +618 -857
- package/dist/esm/src/script/Spend.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/overlay-tools/LookupResolver.d.ts +1 -3
- package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +1 -0
- package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -1
- package/dist/types/src/primitives/AESGCM.d.ts.map +1 -1
- package/dist/types/src/primitives/BigNumber.d.ts +238 -1705
- package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
- package/dist/types/src/primitives/K256.d.ts.map +1 -1
- package/dist/types/src/primitives/Mersenne.d.ts +2 -2
- package/dist/types/src/primitives/Mersenne.d.ts.map +1 -1
- package/dist/types/src/primitives/utils.d.ts +2 -0
- package/dist/types/src/primitives/utils.d.ts.map +1 -1
- package/dist/types/src/script/Spend.d.ts +11 -1
- package/dist/types/src/script/Spend.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +1 -1
- package/docs/performance.md +70 -0
- package/docs/primitives.md +262 -3049
- package/package.json +1 -1
- package/src/auth/__tests/Peer.test.ts +38 -23
- package/src/auth/certificates/__tests/MasterCertificate.test.ts +27 -20
- package/src/auth/certificates/__tests/VerifiableCertificate.test.ts +24 -24
- package/src/overlay-tools/LookupResolver.ts +1 -9
- package/src/overlay-tools/SHIPBroadcaster.ts +1 -2
- package/src/overlay-tools/__tests/LookupResolver.test.ts +0 -112
- package/src/primitives/AESGCM.ts +118 -164
- package/src/primitives/BigNumber.ts +867 -4180
- package/src/primitives/K256.ts +57 -37
- package/src/primitives/Mersenne.ts +16 -20
- package/src/primitives/MontgomoryMethod.ts +2 -2
- package/src/primitives/__tests/ReductionContext.test.ts +6 -1
- package/src/primitives/utils.ts +28 -17
- package/src/script/Spend.ts +634 -1309
- package/src/transaction/__tests/Transaction.test.ts +14 -16
- package/src/transaction/__tests/Transaction.benchmarks.test.ts +0 -237
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# BigNumber Benchmarks
|
|
2
|
+
|
|
3
|
+
The benchmark scripts measure extremely large number operations and script number serialization performance.
|
|
4
|
+
|
|
5
|
+
All results below were gathered on Node.js v22.16.0 using the `dist` build of the SDK. Each benchmark was executed with 200,000-digit inputs to stress the implementation.
|
|
6
|
+
|
|
7
|
+
## Addition and Multiplication
|
|
8
|
+
|
|
9
|
+
Command:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
node benchmarks/bignumber-bench.js 200000 1 1
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
| Branch | mul large numbers | add large numbers |
|
|
16
|
+
| --- | --- | --- |
|
|
17
|
+
| master (pre-May-2025) | 6364.11ms | 13.04ms |
|
|
18
|
+
| fix-mem (May-2025) | 13.60ms | 2.64ms |
|
|
19
|
+
|
|
20
|
+
## Serialization
|
|
21
|
+
|
|
22
|
+
Command:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
node benchmarks/serialization-bench.js 200000 1
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
| Branch | toSm big | toSm little | fromSm big | fromSm little | fromScriptNum |
|
|
29
|
+
| --- | --- | --- | --- | --- | --- |
|
|
30
|
+
| master (pre-May-2025) | 6.12ms | 10.11ms | 6.35ms | 12.56ms | 3.39ms |
|
|
31
|
+
| fix-mem (May-2025) | 8.46ms | 8.12ms | 27.77ms | 11.16ms | 10.31ms |
|
|
32
|
+
|
|
33
|
+
## Transaction Verification
|
|
34
|
+
|
|
35
|
+
Command:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
node benchmarks/transaction-bench.js
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
| Branch | deep chain verify | wide transaction verify | large tx verify | nested inputs verify |
|
|
42
|
+
| --- | --- | --- | --- | --- |
|
|
43
|
+
| fix-mem (May-2025) | 3335.76ms | 2930.86ms | 1534.36ms | 1198.08ms |
|
|
44
|
+
|
|
45
|
+
## SymmetricKey Encryption/Decryption
|
|
46
|
+
|
|
47
|
+
Command:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
node benchmarks/symmetric-key-bench.js
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
| Branch | encrypt large 2MB | decrypt large 2MB | encrypt 50 small | decrypt 50 small | encrypt 200 medium | decrypt 200 medium |
|
|
54
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
55
|
+
| fix-mem baseline | 8609.78ms | 8372.23ms | 34.02ms | 48.58ms | 859.38ms | 960.16ms |
|
|
56
|
+
| optimized AESGCM (round 1) | 7678.65ms | 7619.82ms | 60.23ms | 35.21ms | 871.89ms | 763.13ms |
|
|
57
|
+
| optimized AESGCM (round 2) | 2026.89ms | 1793.35ms | 15.01ms | 7.88ms | 213.35ms | 169.37ms |
|
|
58
|
+
|
|
59
|
+
## Reader/Writer Operations
|
|
60
|
+
|
|
61
|
+
Command:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
node benchmarks/reader-writer-bench.js
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
| Branch | mixed ops | large payloads | 3000 small payloads | 400 medium payloads |
|
|
68
|
+
| --- | --- | --- | --- | --- |
|
|
69
|
+
| fix-mem baseline | 9.93ms | 127.49ms | 27.86ms | 41.71ms |
|
|
70
|
+
| optimized utils.ts | 5.02ms | 91.93ms | 19.04ms | 53.80ms |
|