Skip to content

Commit

Permalink
Use Strict in Plutus Tx (#5371)
Browse files Browse the repository at this point in the history
  • Loading branch information
zliu41 committed Sep 1, 2023
1 parent 3ff3901 commit bbc4a0d
Show file tree
Hide file tree
Showing 467 changed files with 13,329 additions and 9,007 deletions.
146 changes: 73 additions & 73 deletions plutus-benchmark/bls12-381-costs/test/bls12-381-costs.golden
Original file line number Diff line number Diff line change
Expand Up @@ -2,144 +2,144 @@ Hash n bytestrings onto G1 and add points

n Script size CPU usage Memory usage
----------------------------------------------------------------------
0 77 (0.5%) 100 (0.0%) 100 (0.0%)
10 187 (1.1%) 681707800 (6.8%) 39342 (0.3%)
20 297 (1.8%) 1363794920 (13.6%) 75702 (0.5%)
30 407 (2.5%) 2045882040 (20.5%) 112062 (0.8%)
40 517 (3.2%) 2727969160 (27.3%) 148422 (1.1%)
50 627 (3.8%) 3410056280 (34.1%) 184782 (1.3%)
60 737 (4.5%) 4092143400 (40.9%) 221142 (1.6%)
70 847 (5.2%) 4774230520 (47.7%) 257502 (1.8%)
80 957 (5.8%) 5456317640 (54.6%) 293862 (2.1%)
90 1067 (6.5%) 6138404760 (61.4%) 330222 (2.4%)
100 1177 (7.2%) 6820491880 (68.2%) 366582 (2.6%)
110 1287 (7.9%) 7502579000 (75.0%) 402942 (2.9%)
120 1397 (8.5%) 8184666120 (81.8%) 439302 (3.1%)
130 1507 (9.2%) 8866753240 (88.7%) 475662 (3.4%)
140 1617 (9.9%) 9548840360 (95.5%) 512022 (3.7%)
150 1727 (10.5%) 10230927480 (102.3%) 548382 (3.9%)
0 82 (0.5%) 100 (0.0%) 100 (0.0%)
10 192 (1.2%) 682949800 (6.8%) 44742 (0.3%)
20 302 (1.8%) 1366416920 (13.7%) 87102 (0.6%)
30 412 (2.5%) 2049884040 (20.5%) 129462 (0.9%)
40 522 (3.2%) 2733351160 (27.3%) 171822 (1.2%)
50 632 (3.9%) 3416818280 (34.2%) 214182 (1.5%)
60 742 (4.5%) 4100285400 (41.0%) 256542 (1.8%)
70 852 (5.2%) 4783752520 (47.8%) 298902 (2.1%)
80 962 (5.9%) 5467219640 (54.7%) 341262 (2.4%)
90 1072 (6.5%) 6150686760 (61.5%) 383622 (2.7%)
100 1182 (7.2%) 6834153880 (68.3%) 425982 (3.0%)
110 1292 (7.9%) 7517621000 (75.2%) 468342 (3.3%)
120 1402 (8.6%) 8201088120 (82.0%) 510702 (3.6%)
130 1512 (9.2%) 8884555240 (88.8%) 553062 (4.0%)
140 1622 (9.9%) 9568022360 (95.7%) 595422 (4.3%)
150 1732 (10.6%) 10251489480 (102.5%) 637782 (4.6%)


Hash n bytestrings onto G2 and add points

n Script size CPU usage Memory usage
----------------------------------------------------------------------
0 77 (0.5%) 100 (0.0%) 100 (0.0%)
10 187 (1.1%) 2075992430 (20.8%) 39684 (0.3%)
20 297 (1.8%) 4153677170 (41.5%) 76404 (0.5%)
30 407 (2.5%) 6231361910 (62.3%) 113124 (0.8%)
40 517 (3.2%) 8309046650 (83.1%) 149844 (1.1%)
50 627 (3.8%) 10386731390 (103.9%) 186564 (1.3%)
60 737 (4.5%) 12464416130 (124.6%) 223284 (1.6%)
70 847 (5.2%) 14542100870 (145.4%) 260004 (1.9%)
80 957 (5.8%) 16619785610 (166.2%) 296724 (2.1%)
90 1067 (6.5%) 18697470350 (187.0%) 333444 (2.4%)
100 1177 (7.2%) 20775155090 (207.8%) 370164 (2.6%)
110 1287 (7.9%) 22852839830 (228.5%) 406884 (2.9%)
120 1397 (8.5%) 24930524570 (249.3%) 443604 (3.2%)
130 1507 (9.2%) 27008209310 (270.1%) 480324 (3.4%)
140 1617 (9.9%) 29085894050 (290.9%) 517044 (3.7%)
150 1727 (10.5%) 31163578790 (311.6%) 553764 (4.0%)
0 82 (0.5%) 100 (0.0%) 100 (0.0%)
10 192 (1.2%) 2077234430 (20.8%) 45084 (0.3%)
20 302 (1.8%) 4156299170 (41.6%) 87804 (0.6%)
30 412 (2.5%) 6235363910 (62.4%) 130524 (0.9%)
40 522 (3.2%) 8314428650 (83.1%) 173244 (1.2%)
50 632 (3.9%) 10393493390 (103.9%) 215964 (1.5%)
60 742 (4.5%) 12472558130 (124.7%) 258684 (1.8%)
70 852 (5.2%) 14551622870 (145.5%) 301404 (2.2%)
80 962 (5.9%) 16630687610 (166.3%) 344124 (2.5%)
90 1072 (6.5%) 18709752350 (187.1%) 386844 (2.8%)
100 1182 (7.2%) 20788817090 (207.9%) 429564 (3.1%)
110 1292 (7.9%) 22867881830 (228.7%) 472284 (3.4%)
120 1402 (8.6%) 24946946570 (249.5%) 515004 (3.7%)
130 1512 (9.2%) 27026011310 (270.3%) 557724 (4.0%)
140 1622 (9.9%) 29105076050 (291.1%) 600444 (4.3%)
150 1732 (10.6%) 31184140790 (311.8%) 643164 (4.6%)


Uncompress n G1 points and add the results

n Script size CPU usage Memory usage
----------------------------------------------------------------------
0 69 (0.4%) 100 (0.0%) 100 (0.0%)
10 619 (3.8%) 183823250 (1.8%) 37042 (0.3%)
20 1169 (7.1%) 368094820 (3.7%) 71402 (0.5%)
30 1719 (10.5%) 552366390 (5.5%) 105762 (0.8%)
40 2269 (13.8%) 736637960 (7.4%) 140122 (1.0%)
50 2819 (17.2%) 920909530 (9.2%) 174482 (1.2%)
60 3369 (20.6%) 1105181100 (11.1%) 208842 (1.5%)
70 3919 (23.9%) 1289452670 (12.9%) 243202 (1.7%)
80 4469 (27.3%) 1473724240 (14.7%) 277562 (2.0%)
90 5019 (30.6%) 1657995810 (16.6%) 311922 (2.2%)
100 5569 (34.0%) 1842267380 (18.4%) 346282 (2.5%)
110 6119 (37.3%) 2026538950 (20.3%) 380642 (2.7%)
120 6669 (40.7%) 2210810520 (22.1%) 415002 (3.0%)
130 7219 (44.1%) 2395082090 (24.0%) 449362 (3.2%)
140 7769 (47.4%) 2579353660 (25.8%) 483722 (3.5%)
150 8319 (50.8%) 2763625230 (27.6%) 518082 (3.7%)
0 74 (0.5%) 100 (0.0%) 100 (0.0%)
10 624 (3.8%) 185065250 (1.9%) 42442 (0.3%)
20 1174 (7.2%) 370716820 (3.7%) 82802 (0.6%)
30 1724 (10.5%) 556368390 (5.6%) 123162 (0.9%)
40 2274 (13.9%) 742019960 (7.4%) 163522 (1.2%)
50 2824 (17.2%) 927671530 (9.3%) 203882 (1.5%)
60 3374 (20.6%) 1113323100 (11.1%) 244242 (1.7%)
70 3924 (24.0%) 1298974670 (13.0%) 284602 (2.0%)
80 4474 (27.3%) 1484626240 (14.8%) 324962 (2.3%)
90 5024 (30.7%) 1670277810 (16.7%) 365322 (2.6%)
100 5574 (34.0%) 1855929380 (18.6%) 405682 (2.9%)
110 6124 (37.4%) 2041580950 (20.4%) 446042 (3.2%)
120 6674 (40.7%) 2227232520 (22.3%) 486402 (3.5%)
130 7224 (44.1%) 2412884090 (24.1%) 526762 (3.8%)
140 7774 (47.4%) 2598535660 (26.0%) 567122 (4.1%)
150 8324 (50.8%) 2784187230 (27.8%) 607482 (4.3%)


Uncompress n G2 points and add the results

n Script size CPU usage Memory usage
----------------------------------------------------------------------
0 69 (0.4%) 100 (0.0%) 100 (0.0%)
10 1099 (6.7%) 361567910 (3.6%) 37384 (0.3%)
20 2129 (13.0%) 724897130 (7.2%) 72104 (0.5%)
30 3159 (19.3%) 1088226350 (10.9%) 106824 (0.8%)
40 4189 (25.6%) 1451555570 (14.5%) 141544 (1.0%)
50 5219 (31.9%) 1814884790 (18.1%) 176264 (1.3%)
60 6249 (38.1%) 2178214010 (21.8%) 210984 (1.5%)
70 7279 (44.4%) 2541543230 (25.4%) 245704 (1.8%)
80 8309 (50.7%) 2904872450 (29.0%) 280424 (2.0%)
90 9339 (57.0%) 3268201670 (32.7%) 315144 (2.3%)
100 10369 (63.3%) 3631530890 (36.3%) 349864 (2.5%)
110 11399 (69.6%) 3994860110 (39.9%) 384584 (2.7%)
120 12429 (75.9%) 4358189330 (43.6%) 419304 (3.0%)
130 13459 (82.1%) 4721518550 (47.2%) 454024 (3.2%)
140 14489 (88.4%) 5084847770 (50.8%) 488744 (3.5%)
150 15519 (94.7%) 5448176990 (54.5%) 523464 (3.7%)
0 74 (0.5%) 100 (0.0%) 100 (0.0%)
10 1104 (6.7%) 362809910 (3.6%) 42784 (0.3%)
20 2134 (13.0%) 727519130 (7.3%) 83504 (0.6%)
30 3164 (19.3%) 1092228350 (10.9%) 124224 (0.9%)
40 4194 (25.6%) 1456937570 (14.6%) 164944 (1.2%)
50 5224 (31.9%) 1821646790 (18.2%) 205664 (1.5%)
60 6254 (38.2%) 2186356010 (21.9%) 246384 (1.8%)
70 7284 (44.5%) 2551065230 (25.5%) 287104 (2.1%)
80 8314 (50.7%) 2915774450 (29.2%) 327824 (2.3%)
90 9344 (57.0%) 3280483670 (32.8%) 368544 (2.6%)
100 10374 (63.3%) 3645192890 (36.5%) 409264 (2.9%)
110 11404 (69.6%) 4009902110 (40.1%) 449984 (3.2%)
120 12434 (75.9%) 4374611330 (43.7%) 490704 (3.5%)
130 13464 (82.2%) 4739320550 (47.4%) 531424 (3.8%)
140 14494 (88.5%) 5104029770 (51.0%) 572144 (4.1%)
150 15524 (94.8%) 5468738990 (54.7%) 612864 (4.4%)


Apply pairing to two pairs of points in G1 x G2 and run finalVerify on the results

n Script size CPU usage Memory usage
----------------------------------------------------------------------
- 332 (2.0%) 1193672374 (11.9%) 3446 (0.0%)
- 334 (2.0%) 1193741374 (11.9%) 3746 (0.0%)


Groth16 verification example

n Script size CPU usage Memory usage
----------------------------------------------------------------------
- 772 (4.7%) 2316102514 (23.2%) 10004 (0.1%)
- 779 (4.8%) 2316309514 (23.2%) 10904 (0.1%)

VRF example

n Script size CPU usage Memory usage
----------------------------------------------------------------------
- 795 (4.9%) 1548749705 (15.5%) 405291 (2.9%)
- 797 (4.9%) 1333294370 (13.3%) 357715 (2.6%)

G1 Verify

n Script size CPU usage Memory usage
----------------------------------------------------------------------
- 320 (2.0%) 1448297500 (14.5%) 4336 (0.0%)
- 330 (2.0%) 1448573500 (14.5%) 5536 (0.0%)

G2 Verify

n Script size CPU usage Memory usage
----------------------------------------------------------------------
- 368 (2.2%) 1310050206 (13.1%) 4318 (0.0%)
- 381 (2.3%) 1310395206 (13.1%) 5818 (0.0%)

Aggregate Single Key

n Script size CPU usage Memory usage
----------------------------------------------------------------------
- 785 (4.8%) 3330204083 (33.3%) 86784 (0.6%)
- 797 (4.9%) 3330549083 (33.3%) 88284 (0.6%)

Aggregate Multi Key

n Script size CPU usage Memory usage
----------------------------------------------------------------------
- 1752 (10.7%) 4940773359 (49.4%) 1444878 (10.3%)
- 1781 (10.9%) 3741149401 (37.4%) 708057 (5.1%)

Schnorr Signature G1

n Script size CPU usage Memory usage
----------------------------------------------------------------------
- 439 (2.7%) 713827080 (7.1%) 652662 (4.7%)
- 444 (2.7%) 539273472 (5.4%) 286106 (2.0%)

Schnorr Signature G2

n Script size CPU usage Memory usage
----------------------------------------------------------------------
- 583 (3.6%) 1167036839 (11.7%) 652908 (4.7%)
- 588 (3.6%) 958918193 (9.6%) 286292 (2.0%)

Groth16Verify succeeded
Simple Verify succeeded
Expand Down
32 changes: 16 additions & 16 deletions plutus-benchmark/ed25519-costs/test/ed25519-costs.golden
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
n Script size CPU usage Memory usage
----------------------------------------------------------------------
0 435 (2.7%) 5481162 (0.1%) 19086 (0.1%)
10 2162 (13.2%) 748202062 (7.5%) 522516 (3.7%)
20 3889 (23.7%) 1490922962 (14.9%) 1025946 (7.3%)
30 5616 (34.3%) 2233643862 (22.3%) 1529376 (10.9%)
40 7343 (44.8%) 2976364762 (29.8%) 2032806 (14.5%)
50 9069 (55.4%) 3719085662 (37.2%) 2536236 (18.1%)
60 10796 (65.9%) 4461806562 (44.6%) 3039666 (21.7%)
70 12523 (76.4%) 5204527462 (52.0%) 3543096 (25.3%)
80 14249 (87.0%) 5947248362 (59.5%) 4046526 (28.9%)
90 15976 (97.5%) 6689969262 (66.9%) 4549956 (32.5%)
100 17703 (108.1%) 7432690162 (74.3%) 5053386 (36.1%)
110 19430 (118.6%) 8175411062 (81.8%) 5556816 (39.7%)
120 21156 (129.1%) 8918131962 (89.2%) 6060246 (43.3%)
130 22883 (139.7%) 9660852862 (96.6%) 6563676 (46.9%)
140 24610 (150.2%) 10403573762 (104.0%) 7067106 (50.5%)
150 26337 (160.7%) 11146294662 (111.5%) 7570536 (54.1%)
0 506 (3.1%) 6782466 (0.1%) 24854 (0.2%)
10 2233 (13.6%) 737044406 (7.4%) 529004 (3.8%)
20 3960 (24.2%) 1467306346 (14.7%) 1033154 (7.4%)
30 5687 (34.7%) 2197568286 (22.0%) 1537304 (11.0%)
40 7414 (45.3%) 2927830226 (29.3%) 2041454 (14.6%)
50 9140 (55.8%) 3658092166 (36.6%) 2545604 (18.2%)
60 10867 (66.3%) 4388354106 (43.9%) 3049754 (21.8%)
70 12594 (76.9%) 5118616046 (51.2%) 3553904 (25.4%)
80 14320 (87.4%) 5848877986 (58.5%) 4058054 (29.0%)
90 16047 (97.9%) 6579139926 (65.8%) 4562204 (32.6%)
100 17774 (108.5%) 7309401866 (73.1%) 5066354 (36.2%)
110 19501 (119.0%) 8039663806 (80.4%) 5570504 (39.8%)
120 21227 (129.6%) 8769925746 (87.7%) 6074654 (43.4%)
130 22954 (140.1%) 9500187686 (95.0%) 6578804 (47.0%)
140 24681 (150.6%) 10230449626 (102.3%) 7082954 (50.6%)
150 26408 (161.2%) 10960711566 (109.6%) 7587104 (54.2%)

Off-chain version succeeded on 100 inputs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 160559654
| mem: 504532})
({cpu: 174359654
| mem: 564532})
4 changes: 2 additions & 2 deletions plutus-benchmark/lists/test/Sum/left-fold-data.budget.golden
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 369259685
| mem: 1107662})
({cpu: 375180389
| mem: 1144530})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 167459654
| mem: 534532})
({cpu: 181259654
| mem: 594532})
4 changes: 2 additions & 2 deletions plutus-benchmark/lists/test/Sum/right-fold-data.budget.golden
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 376159685
| mem: 1137662})
({cpu: 375180389
| mem: 1144530})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 289063008
| mem: 1036124})
({cpu: 288891771
| mem: 1037408})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 438191815
| mem: 1640614})
({cpu: 434534590
| mem: 1628614})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 313428728
| mem: 1135716})
({cpu: 312100997
| mem: 1132908})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 247418550
| mem: 875728})
({cpu: 248552811
| mem: 882376})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 279070177
| mem: 991066})
({cpu: 280071940
| mem: 997450})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 257910633
| mem: 912738})
({cpu: 258837894
| mem: 918486})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 256095056
| mem: 906136})
({cpu: 257022317
| mem: 911884})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 328436471
| mem: 1185534})
({cpu: 327942242
| mem: 1186662})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 304039247
| mem: 1096538})
({cpu: 303942512
| mem: 1098458})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 277760106
| mem: 993272})
({cpu: 277663371
| mem: 995192})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 312279780
| mem: 1124356})
({cpu: 311843547
| mem: 1125112})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 315941108
| mem: 1146000})
({cpu: 315711875
| mem: 1147656})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 382015154
| mem: 1404088})
({cpu: 378622925
| mem: 1392616})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 254478755
| mem: 902782})
({cpu: 255406016
| mem: 908530})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 274678991
| mem: 976510})
({cpu: 275680754
| mem: 982894})
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
({cpu: 240848320
| mem: 839436})
({cpu: 241982581
| mem: 846084})
Loading

0 comments on commit bbc4a0d

Please sign in to comment.