Skip to content

Conversation

@BobTheBuidler
Copy link
Owner

No description provided.

BobTheBuidler and others added 30 commits August 8, 2025 16:27
* feat(cicd): compile C files for source control

* Update compile.yaml

* fix: mypy errs

* Update .gitignore

* chore: compile C files for source control

* Update .gitignore

* Delete build directory

* chore: compile C files for source control

* Update Makefile

* chore: compile C files for source control

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* feat(cicd): tox workflow

* chore: compile C files for source control

* fix: classmethod not subscriptable

* chore: compile C files for source control

* fix: mypy errs

* chore: compile C files for source control

* fix: mypy errs

* chore: compile C files for source control

* fix: mypy errs

* chore: compile C files for source control

* fix: PackageNotFoundError

* chore: compile C files for source control

* fix: tests

* chore: compile C files for source control

* fix: managed dict

* chore: compile C files for source control

* fix: install with cchecksum

* chore: compile C files for source control

* fix: skip compile io

* chore: compile C files for source control

* fix: type errs

* chore: compile C files for source control

* fix: replace old eth_abi references

* chore: compile C files for source control

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* chore: drop support for python3.14

* chore: compile C files for source control

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix: loosen cchecksum pin

currently cannot install with brownie 1.21.0

this PR fixes that

* Update pyproject.toml
* feat: support python3.14

* Update tox.yaml

* Update tox.ini

* chore: compile C files for source control

* Update tox.yaml

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix(cicd): build workflow on python3.14

* chore: compile C files for source control

* Update pyproject.toml

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
github-actions bot and others added 5 commits October 27, 2025 08:14
* fix: pin build dependencies

* chore: compile C files for source control

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@codspeed-hq
Copy link

codspeed-hq bot commented Oct 27, 2025

CodSpeed Performance Report

Merging #158 will degrade performances by 12.11%

Comparing pyi (8b70353) with master (e0097a9)1

Summary

⚡ 11 improvements
❌ 2 regressions
✅ 821 untouched

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Benchmarks breakdown

Benchmark BASE HEAD Change
test_faster_decode[uint8[100]-[0, 1, 2, 3, 4, ] 35.5 ms 37.9 ms -6.25%
test_faster_encode[uint8[]-[1, 2, 3, 4, 5]] 3.7 ms 3.5 ms +7.15%
test_faster_is_encodable[(uint256[2],string)-([1, 2], 'baz')] 1,059.8 µs 993.7 µs +6.66%
test_faster_is_encodable[uint8[10]-[0, 1, 2, 3, 4, ] 1.9 ms 1.8 ms +6.86%
test_faster_is_encodable[uint8[]-[1, 2, 3, 4, 5]] 1.2 ms 1.1 ms +11.09%
test_faster_normalize[bytes] 9.2 ms 8.7 ms +6.02%
test_faster_normalize[string] 9.1 ms 8.5 ms +6.62%
test_faster_get_decoder[(uint8[2][2],(string[2],bool[2]))] 26.5 ms 22.8 ms +16.6%
test_faster_get_decoder[address] 26.1 ms 22.3 ms +16.91%
test_faster_get_decoder[bytes] 26.2 ms 22.3 ms +17.03%
test_faster_get_decoder[string[]] 26.2 ms 22.4 ms +16.85%
test_faster_get_decoder[ufixed128x18] 22.4 ms 25.5 ms -12.11%
test_faster_get_decoder[uint256] 26.5 ms 23 ms +14.83%

Footnotes

  1. No successful run was found on master (3161fe6) during the generation of this report, so e0097a9 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

@github-actions
Copy link

Pytest Benchmark Diff

faster_eth_abi.abi - view benchmarks

Function Reference Mean Faster Mean % Change Speedup (%) x Faster Faster
decode[((uint8,uint8),uint8)-((1, 2), 3)] 0.004486692490757007 0.0004973932087161243 88.91% 802.04% 9.02x
decode[((uint8[2],(string,bool)),bytes32)-(([1, 2], ('hi',] 0.004734142505012642 0.001867280194595234 60.56% 153.53% 2.54x
decode[((uint8[2][2],(string[2],bool[2])),bytes32[2])-(([[1, 2], [3, 4] 0.008469497939680376 0.003065037795425139 63.81% 176.33% 2.76x
decode[(address,uint8)-(b'\\x00\\x00\\x00\\] 0.0037898289959948962 0.0005206430030529784 86.26% 627.91% 7.28x
decode[(bytes[],string[])-([], [])] 0.0028448692259441587 0.0013204512603536933 53.58% 115.45% 2.15x
decode[(bytes1,bytes2,bytes3,bytes4)-(b'\\x01', b'\\x01] 0.0028938938134388777 0.0004778447843750655 83.49% 505.61% 6.06x
decode[(bytes32[],string[])-([b'\\x00\\x00\\x00] 0.004568744104234055 0.002305991460280093 49.53% 98.12% 1.98x
decode[(fixed32x2,uint8)-(Decimal('3.14')] 0.0034663237008257333 0.0006425104266719019 81.46% 439.50% 5.39x
decode[(function,uint256)-(b'\\x01\\x01\\x01\\] 0.0021805095105241197 0.00038063167755233464 82.54% 472.87% 5.73x
decode[(string,bytes)-('foo', b'bar')] 0.002611239590615886 0.0013245531825072006 49.27% 97.14% 1.97x
decode[(string[],bytes[])-([''], [b''])] 0.0041158469693902845 0.0020859393267331746 49.32% 97.31% 1.97x
decode[(string[],bytes[])-([], [])] 0.0028347107988759995 0.0013038160348130053 54.01% 117.42% 2.17x
decode[(uint256,bool)-(42, True)] 0.0021863146784699737 0.00037049870347042696 83.05% 490.10% 5.90x
decode[(uint256[],(string[],bool))-([1, 2, 3], (['a] 0.005771349457874354 0.0027791366988471084 51.85% 107.67% 2.08x
decode[(uint256[2],string)-([1, 2], 'baz')] 0.0027879047758532496 0.0011424240507008424 59.02% 144.03% 2.44x
decode[(uint8,(bool,string))-(7, (False, 'hi'] 0.0032016211220098293 0.0013693034334930623 57.23% 133.81% 2.34x
decode[(uint8[],string)-([], '')] 0.0027247101361907605 0.0012668576880087105 53.50% 115.08% 2.15x
decode[(uint8[][],string)-([[]], '')] 0.0035201693074769637 0.0016862266449803624 52.10% 108.76% 2.09x
decode[(uint8[2],(string,bool[2]))-([1, 2], ('x', [] 0.0044613099245203935 0.0016253925996514169 63.57% 174.48% 2.74x
decode[(uint8[2][],string[])-([], [])] 0.0028278601083835753 0.001275486056409166 54.90% 121.71% 2.22x
decode[(uint8[2][2],(string[2],bool[2]))-([[1, 2], [3, 4]] 0.006842071787156545 0.0025449169426464634 62.80% 168.85% 2.69x
decode[(uint8[2][2][],string[])-([], [])] 0.002835970734336862 0.0012655510991842912 55.38% 124.09% 2.24x
decode[(uint8[2][2][2],string)-([[[1, 2], [3, 4] 0.005845924305444106 0.00188418357518872 67.77% 210.26% 3.10x
decode[(uint8[2][2][2][2],string[2])-([[[[1, 2], [3, ] 0.010990296022397017 0.0035292883882666434 67.89% 211.40% 3.11x
decode[(uint8[2][2][2][2][],string[])-([], [])] 0.0028335886626479467 0.001270547777480443 55.16% 123.02% 2.23x
decode[(uint8[2][2][2][2][2],string[2][2])-([[[[[1, 2], [3,] 0.02127079482968529 0.006762086047972046 68.21% 214.56% 3.15x
decode[(uint8[3],(string[2],bool[2]))-([1, 2, 3], (['a] 0.005973210521757289 0.0023900335478216684 59.99% 149.92% 2.50x
decode[address-b'\\x00\\x00\\x00\\x] 0.001622292089596956 0.00038181233940940687 76.46% 324.89% 4.25x
decode[address-b'\\xff\\xff\\xff\\x] 0.0016558904905483209 0.0003829022094957145 76.88% 332.46% 4.32x
decode[address[2]-[b'\\x00\\x00\\x00\\] 0.0028487031714215095 0.0006322242236054431 77.81% 350.58% 4.51x
decode[bool-False] 0.0008707607106619033 0.00023394430440254853 73.13% 272.21% 3.72x
decode[bool-True] 0.0008859776451513026 0.00023435205211401792 73.55% 278.05% 3.78x
decode[bool[][2]-[[True, False], ] 0.003448629877697804 0.0015256482413805539 55.76% 126.04% 2.26x
decode[bool[4]-[True, False, Tr] 0.0017141107896950104 0.00048014244005549934 71.99% 257.00% 3.57x
decode[bytes-b''] 0.0013931072755226255 0.0006122312189742252 56.05% 127.55% 2.28x
decode[bytes-b'\\x00\\x00\\x00\\x0] 0.001401357303558641 0.0006209441612129522 55.69% 125.68% 2.26x
decode[bytes-b'\\x00\\x00\\x00\\x1] 0.0014177872628209024 0.0006444535408253179 54.55% 120.00% 2.20x
decode[bytes-b'aaaaaaaaaaaaaa] 0.0013998532887128938 0.0006171802848885327 55.91% 126.81% 2.27x
decode[bytes-b'hello world'] 0.0013882058144065953 0.0006258087389884656 54.92% 121.83% 2.22x
decode[bytes[]-[]0] 0.0015162525071492547 0.0006322121540701876 58.30% 139.83% 2.40x
decode[bytes[]-[]1] 0.0015184588022678172 0.0006411367155768982 57.78% 136.84% 2.37x
decode[bytes[]-[b'abc', b'def',] 0.0034533986128742226 0.0018035637601123353 47.77% 91.48% 1.91x
decode[bytes[10]-[b'\\x00\\x00\\x00\\] 0.007529177000077862 0.004450872990669585 40.88% 69.16% 1.69x
decode[bytes[100]-[b'\\x00\\x00\\x00\\] 0.06015092752953505 0.039061280346056895 35.06% 53.99% 1.54x
decode[bytes1-b'\\x01'] 0.0008733225323708923 0.0002325431193635888 73.37% 275.55% 3.76x
decode[bytes10-b'\\x01\\x01\\x01\\x] 0.0008859759925514495 0.0002373961137401551 73.21% 273.21% 3.73x
decode[bytes11-b'\\x01\\x01\\x01\\x] 0.0008822980154699933 0.00023745716269132997 73.09% 271.56% 3.72x
decode[bytes12-b'\\x01\\x01\\x01\\x] 0.000896803613694133 0.00023733238810690272 73.54% 277.87% 3.78x
decode[bytes13-b'\\x01\\x01\\x01\\x] 0.0008935784719737846 0.00023760052914466553 73.41% 276.08% 3.76x
decode[bytes14-b'\\x01\\x01\\x01\\x] 0.0009052884511948633 0.00023655780881523262 73.87% 282.69% 3.83x
decode[bytes15-b'\\x01\\x01\\x01\\x] 0.0008990700298255519 0.00023530433333140895 73.83% 282.09% 3.82x
decode[bytes16-b'\\x01\\x01\\x01\\x] 0.0009002589086426897 0.00023882154984049953 73.47% 276.96% 3.77x
decode[bytes16[3]-[b'\\x01\\x01\\x01\\] 0.0015650729931029562 0.0004201701824414138 73.15% 272.49% 3.72x
decode[bytes17-b'\\x01\\x01\\x01\\x] 0.0008923132366262718 0.00023631646964737864 73.52% 277.59% 3.78x
decode[bytes18-b'\\x01\\x01\\x01\\x] 0.0009044954629070596 0.00023657230846734699 73.84% 282.33% 3.82x
decode[bytes19-b'\\x01\\x01\\x01\\x] 0.0008852986136296202 0.00023618822428581415 73.32% 274.83% 3.75x
decode[bytes2-b'\\x01\\x01'] 0.0008792176653911108 0.0002343282480144058 73.35% 275.21% 3.75x
decode[bytes20-b'\\x01\\x01\\x01\\x] 0.0009024241510733529 0.0002385079652443131 73.57% 278.36% 3.78x
decode[bytes21-b'\\x01\\x01\\x01\\x] 0.0008918669101764541 0.0002374149877393774 73.38% 275.66% 3.76x
decode[bytes22-b'\\x01\\x01\\x01\\x] 0.000896784729079302 0.00023634497631016958 73.65% 279.44% 3.79x
decode[bytes23-b'\\x01\\x01\\x01\\x] 0.0009053883267071186 0.00023942478319789997 73.56% 278.15% 3.78x
decode[bytes24-b'\\x01\\x01\\x01\\x] 0.0008977572516968469 0.00023779196152691367 73.51% 277.54% 3.78x
decode[bytes25-b'\\x01\\x01\\x01\\x] 0.0009010510170238611 0.00024252750059338912 73.08% 271.53% 3.72x
decode[bytes26-b'\\x01\\x01\\x01\\x] 0.000902803405032633 0.00023669008010108168 73.78% 281.43% 3.81x
decode[bytes27-b'\\x01\\x01\\x01\\x] 0.0008995057994156797 0.00023964927704326415 73.36% 275.34% 3.75x
decode[bytes28-b'\\x01\\x01\\x01\\x] 0.0008993999549534169 0.0002395368516814353 73.37% 275.47% 3.75x
decode[bytes29-b'\\x01\\x01\\x01\\x] 0.0008945468200948146 0.0002379298783874376 73.40% 275.97% 3.76x
decode[bytes3-b'\\x01\\x01\\x01'] 0.0008812997383538176 0.00023626749550317817 73.19% 273.01% 3.73x
decode[bytes30-b'\\x01\\x01\\x01\\x] 0.0008935494725744627 0.00023535347867762306 73.66% 279.66% 3.80x
decode[bytes31-b'\\x01\\x01\\x01\\x] 0.000889503455837686 0.00023215169025916132 73.90% 283.16% 3.83x
decode[bytes32-b'\\x01\\x01\\x01\\x] 0.0008802048683950127 0.00023484324931342143 73.32% 274.81% 3.75x
decode[bytes32[2]-[b'\\x00\\x00\\x00\\] 0.0013289291558414656 0.0003447537157094009 74.06% 285.47% 3.85x
decode[bytes4-b'\\x01\\x01\\x01\\x] 0.0008925849615945309 0.00024329164701495528 72.74% 266.88% 3.67x
decode[bytes5-b'\\x01\\x01\\x01\\x] 0.0008868829796409739 0.0002408292829689264 72.85% 268.26% 3.68x
decode[bytes6-b'\\x01\\x01\\x01\\x] 0.0008866266484730545 0.00023698551732283685 73.27% 274.13% 3.74x
decode[bytes7-b'\\x01\\x01\\x01\\x] 0.0008953578320671286 0.0002359254451279425 73.65% 279.51% 3.80x
decode[bytes8-b'\\x01\\x01\\x01\\x] 0.0008881629834643721 0.00023864017249286437 73.13% 272.18% 3.72x
decode[bytes8[4]-[b'\\x01\\x01\\x01\\] 0.001736200446724401 0.0004877350544467602 71.91% 255.97% 3.56x
decode[bytes9-b'\\x01\\x01\\x01\\x] 0.0008997640000082507 0.00023851969065815968 73.49% 277.23% 3.77x
decode[fixed128x1-Decimal('1.2')] 0.0015815502350499022 0.0004977228752240573 68.53% 217.76% 3.18x
decode[fixed128x10-Decimal('1.20000] 0.0015917090728191996 0.0005011297056902647 68.52% 217.62% 3.18x
decode[fixed128x18-Decimal('1.20000] 0.0016098957978881248 0.000500140393303306 68.93% 221.89% 3.22x
decode[fixed128x2-Decimal('1.20')] 0.0015782790170935466 0.0004996948231042641 68.34% 215.85% 3.16x
decode[fixed16x1-Decimal('1.2')] 0.001515487508974426 0.0004910923065910535 67.60% 208.60% 3.09x
decode[fixed16x2-Decimal('1.20')] 0.001528968348623876 0.0004938267449190408 67.70% 209.62% 3.10x
decode[fixed256x1-Decimal('1.2')] 0.0015956974794191835 0.0004900206278672087 69.29% 225.64% 3.26x
decode[fixed256x10-Decimal('1.20000] 0.0016105191842240595 0.0004948734697896979 69.27% 225.44% 3.25x
decode[fixed256x18-Decimal('1.20000] 0.00162383359613248 0.000495356172813243 69.49% 227.81% 3.28x
decode[fixed256x2-Decimal('1.20')] 0.001586701315649076 0.0004866364394828709 69.33% 226.05% 3.26x
decode[fixed32x1-Decimal('1.2')] 0.0015562185516895019 0.000497465071006888 68.03% 212.83% 3.13x
decode[fixed32x2-Decimal('1.20')] 0.0015748609966267702 0.0004940687145547829 68.63% 218.75% 3.19x
decode[fixed32x2[]-[]0] 0.001513657717318404 0.0005886209391872072 61.11% 157.15% 2.57x
decode[fixed32x2[]-[]1] 0.0015111169491399269 0.0005886084116089189 61.05% 156.73% 2.57x
decode[fixed32x2[2]-[Decimal('3.14')] 0.0026123000335404128 0.0008558589881312207 67.24% 205.23% 3.05x
decode[fixed64x1-Decimal('1.2')] 0.0015760266824483206 0.0004932385283655284 68.70% 219.53% 3.20x
decode[fixed64x10-Decimal('1.20000] 0.0016054389060540732 0.0005072018454684918 68.41% 216.53% 3.17x
decode[fixed64x18-Decimal('1.20000] 0.00161423200344216 0.000499115522008721 69.08% 223.42% 3.23x
decode[fixed64x2-Decimal('1.20')] 0.001577596708160072 0.0004989308059452536 68.37% 216.20% 3.16x
decode[fixed8x1-Decimal('1.2')] 0.0014930742173848168 0.000488626380432422 67.27% 205.57% 3.06x
decode[fixed8x2-Decimal('1.20')] 0.001488570677440877 0.00048656923560616843 67.31% 205.93% 3.06x
decode[function-b'\\x00\\x00\\x00\\x] 0.0009040702722988942 0.0002371282134397548 73.77% 281.26% 3.81x
decode[function-b'\\x01\\x01\\x01\\x] 0.0009052883666999221 0.00023556088436989662 73.98% 284.31% 3.84x
decode[function-b'\\xff\\xff\\xff\\x] 0.0009011319981677224 0.00023582694520806868 73.83% 282.12% 3.82x
decode[int128--170141183460469] 0.0010999345117309357 0.0002827701336440304 74.29% 288.99% 3.89x
decode[int128-1701411834604692] 0.001047092772396304 0.0002712528608041701 74.09% 286.02% 3.86x
decode[int16--32768] 0.000985449600164289 0.00027403131821285824 72.19% 259.61% 3.60x
decode[int16-32767] 0.0009665603444040622 0.00026442072325688274 72.64% 265.54% 3.66x
decode[int256--578960446186580] 0.001121747982813234 0.00027904619760191283 75.12% 301.99% 4.02x
decode[int256-5789604461865809] 0.0010588143132505988 0.00027018987510885083 74.48% 291.88% 3.92x
decode[int32--2147483648] 0.0010272339843075543 0.000278484138514942 72.89% 268.87% 3.69x
decode[int32-2147483647] 0.0009937394579193144 0.0002737064003087149 72.46% 263.07% 3.63x
decode[int64--922337203685477] 0.001067491456129648 0.0002866469071407142 73.15% 272.41% 3.72x
decode[int64-9223372036854775] 0.001017271402144948 0.000275465692282609 72.92% 269.29% 3.69x
decode[int8--128] 0.0009749634054929669 0.00027410306558984875 71.89% 255.69% 3.56x
decode[int8-127] 0.0009523934014139647 0.0002609125814518218 72.60% 265.02% 3.65x
decode[string-''] 0.001370539926918983 0.0006146730285672675 55.15% 122.97% 2.23x
decode[string-'\U0001d518\U0001d52b\U0001d526\U0001d520\U0001d52c\U0001d521\U0001d522'] 0.0014176239474099725 0.0006524777286301183 53.97% 117.27% 2.17x
decode[string-'aaaaaaaaaaaaaaa0] 0.001393108417127783 0.0006328197788075436 54.57% 120.14% 2.20x
decode[string-'aaaaaaaaaaaaaaa1] 0.001442467766693957 0.0006701254117513397 53.54% 115.25% 2.15x
decode[string-'bbbbbbbbbbbbbbb] 0.0014261258797811285 0.0006811804846041592 52.24% 109.36% 2.09x
decode[string-'hello world'] 0.0013878084404005651 0.0006314104948583729 54.50% 119.79% 2.20x
decode[string[]-['a', 'b', 'c']] 0.003386093646440713 0.0018186021365806397 46.29% 86.19% 1.86x
decode[string[]-[]0] 0.0015185476644898788 0.0006310869359938835 58.44% 140.62% 2.41x
decode[string[]-[]1] 0.001521923526986881 0.0006414293505724436 57.85% 137.27% 2.37x
decode[string[10]-['0', '1', '2', ] 0.007353255405984981 0.0044892686543081435 38.95% 63.80% 1.64x
decode[string[2]-['foo', 'bar']] 0.0025506819671941455 0.0012987236432804286 49.08% 96.40% 1.96x
decode[string[5]-['a', 'b', 'c', ] 0.004413118022841796 0.002495450020470303 43.45% 76.85% 1.77x
decode[ufixed128x1-Decimal('1.2')] 0.0014381581964961977 0.00048220232606178504 66.47% 198.25% 2.98x
decode[ufixed128x10-Decimal('1.20000] 0.0014837763736100375 0.0004904720208245415 66.94% 202.52% 3.03x
decode[ufixed128x18-Decimal('1.20000] 0.0014498602451949757 0.00048772883815000664 66.36% 197.27% 2.97x
decode[ufixed128x2-Decimal('1.20')] 0.001437211930563934 0.00048354565225571265 66.36% 197.22% 2.97x
decode[ufixed16x1-Decimal('1.2')] 0.0014606541567288864 0.00047797697746271273 67.28% 205.59% 3.06x
decode[ufixed16x2-Decimal('1.20')] 0.0014529472484287422 0.0004783607783750002 67.08% 203.73% 3.04x
decode[ufixed256x1-Decimal('1.2')] 0.001414189192022459 0.0004731048813275011 66.55% 198.92% 2.99x
decode[ufixed256x10-Decimal('1.20000] 0.0014479980379146983 0.00047863904355277076 66.94% 202.52% 3.03x
decode[ufixed256x18-Decimal('1.20000] 0.0014524667721495543 0.00048022194147654594 66.94% 202.46% 3.02x
decode[ufixed256x2-Decimal('1.20')] 0.0014224660109189201 0.00047111811814089374 66.88% 201.93% 3.02x
decode[ufixed32x1-Decimal('1.2')] 0.0014659029904785245 0.0004762404403396138 67.51% 207.81% 3.08x
decode[ufixed32x2-Decimal('1.20')] 0.0014719112396744008 0.0004843808403434609 67.09% 203.87% 3.04x
decode[ufixed64x1-Decimal('1.2')] 0.0014698707678987835 0.0004829302340372848 67.14% 204.37% 3.04x
decode[ufixed64x10-Decimal('1.20000] 0.001489485631582414 0.0004959221050295962 66.71% 200.35% 3.00x
decode[ufixed64x18-Decimal('1.20000] 0.0014886142599568246 0.0004911611833302977 67.01% 203.08% 3.03x
decode[ufixed64x2-Decimal('1.20')] 0.001473409474084082 0.00047773333101614097 67.58% 208.42% 3.08x
decode[ufixed8x1-Decimal('1.2')] 0.0014377440942070633 0.0004742303779739943 67.02% 203.17% 3.03x
decode[ufixed8x2-Decimal('1.20')] 0.0014337322881234806 0.0004757580855491036 66.82% 201.36% 3.01x
decode[uint128-3402823669209384] 0.0009301657325294373 0.00027191248820968505 70.77% 242.08% 3.42x
decode[uint16-65535] 0.0009195371764396371 0.0002738826394068929 70.22% 235.74% 3.36x
decode[uint256-0] 0.000908680695065563 0.0002666043145295102 70.66% 240.83% 3.41x
decode[uint256-1157920892373161] 0.0009129818156355962 0.00026784462807431266 70.66% 240.86% 3.41x
decode[uint256[2]-[0, 115792089237] 0.0014300917107735026 0.00039675803383232565 72.26% 260.44% 3.60x
decode[uint256[2][2]-[[1, 2], [3, 4]]] 0.0023940743383792148 0.0006274064681080441 73.79% 281.58% 3.82x
decode[uint32-4294967295] 0.0009288548298023859 0.00027445968067331704 70.45% 238.43% 3.38x
decode[uint64-1844674407370955] 0.0009386895265925707 0.00027231725810800296 70.99% 244.70% 3.45x
decode[uint8-0] 0.0009254194365430501 0.00026853311154751666 70.98% 244.62% 3.45x
decode[uint8-255] 0.0009217668424461463 0.00027009806430879394 70.70% 241.27% 3.41x
decode[uint8[]-[]0] 0.00150131212238328 0.0005854300898399042 61.01% 156.45% 2.56x
decode[uint8[]-[]1] 0.0015197160208796031 0.0005871566741870707 61.36% 158.83% 2.59x
decode[uint8[]-[1, 2, 3, 4, 5]] 0.0021138120294451187 0.0010417255638293871 50.72% 102.91% 2.03x
decode[uint8[][]-[[]]] 0.002307262227404329 0.000985504261463945 57.29% 134.12% 2.34x
decode[uint8[10]-[0, 1, 2, 3, 4, ] 0.003277477742369105 0.0010720648546614204 67.29% 205.72% 3.06x
decode[uint8[100]-[0, 1, 2, 3, 4, ] 0.023868052365819827 0.008286191716706526 65.28% 188.05% 2.88x
decode[uint8[2][]-[]] 0.001512915777043864 0.000587890224047152 61.14% 157.35% 2.57x
decode[uint8[2][2][]-[]] 0.0015231104504498632 0.0005873444933369024 61.44% 159.32% 2.59x
decode[uint8[3]-[1, 2, 3]] 0.001665413420646792 0.00048125085389550944 71.10% 246.06% 3.46x
encode[((uint8,uint8),uint8)-((1, 2), 3)] 0.0026509853619608088 0.0007474419544533746 71.81% 254.67% 3.55x
encode[((uint8[2],(string,bool)),bytes32)-(([1, 2], ('hi',] 0.005622908550014927 0.0018379418075940071 67.31% 205.94% 3.06x
encode[((uint8[2][2],(string[2],bool[2])),bytes32[2])-(([[1, 2], [3, 4] 0.010409719858691224 0.004182060307683946 59.83% 148.91% 2.49x
encode[(address,uint8)-(b'\\x00\\x00\\x00\\] 0.0022419009635541443 0.0005705688060388043 74.55% 292.92% 3.93x
encode[(bytes[],string[])-([], [])] 0.0026099354723428457 0.0006351066830868889 75.67% 310.94% 4.11x
encode[(bytes1,bytes2,bytes3,bytes4)-(b'\\x01', b'\\x01] 0.001684188242052187 0.0005266137770148567 68.73% 219.81% 3.20x
encode[(bytes32[],string[])-([b'\\x00\\x00\\x00] 0.004357183024141072 0.0013997844061845828 67.87% 211.28% 3.11x
encode[(fixed32x2,uint8)-(Decimal('3.14')] 0.003992675190067316 0.001481757844097827 62.89% 169.46% 2.69x
encode[(function,uint256)-(b'\\x01\\x01\\x01\\] 0.001696269969176411 0.0004139692214769324 75.60% 309.76% 4.10x
encode[(string,bytes)-('foo', b'bar')] 0.002330814271690806 0.0006552115984362059 71.89% 255.73% 3.56x
encode[(string[],bytes[])-([''], [b''])] 0.003907281672276317 0.0011599908703661937 70.31% 236.84% 3.37x
encode[(string[],bytes[])-([], [])] 0.0025885031661685076 0.0006284823683754006 75.72% 311.87% 4.12x
encode[(uint256,bool)-(42, True)] 0.0016874673538456824 0.00038604146459579077 77.12% 337.12% 4.37x
encode[(uint256[],(string[],bool))-([1, 2, 3], (['a] 0.006439037900668316 0.002081002400814941 67.68% 209.42% 3.09x
encode[(uint256[2],string)-([1, 2], 'baz')] 0.0031137096996523626 0.0010113157230080105 67.52% 207.89% 3.08x
encode[(uint8,(bool,string))-(7, (False, 'hi'] 0.0033088483103369546 0.0009464970844035533 71.39% 249.59% 3.50x
encode[(uint8[],string)-([], '')] 0.0024890154016278493 0.0006655928340324325 73.26% 273.95% 3.74x
encode[(uint8[][],string)-([[]], '')] 0.003459502306478669 0.0008814608036152959 74.52% 292.47% 3.92x
encode[(uint8[2],(string,bool[2]))-([1, 2], ('x', [] 0.0048303631406098075 0.0016928731809939988 64.95% 185.34% 2.85x
encode[(uint8[2][],string[])-([], [])] 0.002607222227080149 0.000634992552575383 75.64% 310.59% 4.11x
encode[(uint8[2][2],(string[2],bool[2]))-([[1, 2], [3, 4]] 0.0077469906066757865 0.0029626044153141825 61.76% 161.49% 2.61x
encode[(uint8[2][2][],string[])-([], [])] 0.0025818541373676543 0.0006304158871760382 75.58% 309.55% 4.10x
encode[(uint8[2][2][2],string)-([[[1, 2], [3, 4] 0.007950991858312289 0.0028881109523136907 63.68% 175.30% 2.75x
encode[(uint8[2][2][2][2],string[2])-([[[[1, 2], [3, ] 0.016936169140312256 0.005960635527254922 64.81% 184.13% 2.84x
encode[(uint8[2][2][2][2][],string[])-([], [])] 0.0026123714847682738 0.0006307006015442293 75.86% 314.20% 4.14x
encode[(uint8[2][2][2][2][2],string[2][2])-([[[[[1, 2], [3,] 0.03664704525935694 0.011917480301158924 67.48% 207.51% 3.08x
encode[(uint8[3],(string[2],bool[2]))-([1, 2, 3], (['a] 0.006371933035630458 0.002419352987542436 62.03% 163.37% 2.63x
encode[address-b'\\x00\\x00\\x00\\x] 0.001191037929262457 0.00028493796125627545 76.08% 318.00% 4.18x
encode[address-b'\\xff\\xff\\xff\\x] 0.0011883990051470643 0.00028833045973381715 75.74% 312.17% 4.12x
encode[address[2]-[b'\\x00\\x00\\x00\\] 0.00211180977395363 0.0006448918709649928 69.46% 227.47% 3.27x
encode[bool-False] 0.0007252046253870785 0.00011822756432409333 83.70% 513.40% 6.13x
encode[bool-True] 0.0007122770873388717 0.00011820782855106104 83.40% 502.56% 6.03x
encode[bool[][2]-[[True, False], ] 0.0030981836348365093 0.0008377635376208311 72.96% 269.82% 3.70x
encode[bool[4]-[True, False, Tr] 0.001321349709915461 0.000426098118134353 67.75% 210.10% 3.10x
encode[bytes-b''] 0.0010398568122094198 0.00028013327272107403 73.06% 271.20% 3.71x
encode[bytes-b'\\x00\\x00\\x00\\x0] 0.0010510733630100227 0.0002864608264312286 72.75% 266.92% 3.67x
encode[bytes-b'\\x00\\x00\\x00\\x1] 0.001066036616453185 0.00030701064357877917 71.20% 247.23% 3.47x
encode[bytes-b'aaaaaaaaaaaaaa] 0.0010472884350377371 0.0002805017636286002 73.22% 273.36% 3.73x
encode[bytes-b'hello world'] 0.0010528054665225486 0.00028255036552050255 73.16% 272.61% 3.73x
encode[bytes[]-[]0] 0.0011715669081003516 0.0002437312676827274 79.20% 380.68% 4.81x
encode[bytes[]-[]1] 0.0011501439743540718 0.00024265047539825049 78.90% 373.99% 4.74x
encode[bytes[]-[b'abc', b'def',] 0.002586890938167354 0.0008411233441139863 67.49% 207.55% 3.08x
encode[bytes[10]-[b'\\x00\\x00\\x00\\] 0.005335561260070055 0.002075504609659024 61.10% 157.07% 2.57x
encode[bytes[100]-[b'\\x00\\x00\\x00\\] 0.04151982520837313 0.017611482421080724 57.58% 135.75% 2.36x
encode[bytes1-b'\\x01'] 0.000705853854530019 0.000130667203649771 81.49% 440.19% 5.40x
encode[bytes10-b'\\x01\\x01\\x01\\x] 0.0007089648612394062 0.00012926203487745376 81.77% 448.47% 5.48x
encode[bytes11-b'\\x01\\x01\\x01\\x] 0.0007088070280767729 0.00012900334505706542 81.80% 449.45% 5.49x
encode[bytes12-b'\\x01\\x01\\x01\\x] 0.0007004328181708133 0.00012911635584498103 81.57% 442.48% 5.42x
encode[bytes13-b'\\x01\\x01\\x01\\x] 0.0007021141177672894 0.00012913892912196423 81.61% 443.69% 5.44x
encode[bytes14-b'\\x01\\x01\\x01\\x] 0.0007053347482532875 0.00012954418703700523 81.63% 444.47% 5.44x
encode[bytes15-b'\\x01\\x01\\x01\\x] 0.0007012242441398813 0.0001301967164185391 81.43% 438.59% 5.39x
encode[bytes16-b'\\x01\\x01\\x01\\x] 0.0007009300654687722 0.00013037824479112054 81.40% 437.61% 5.38x
encode[bytes16[3]-[b'\\x01\\x01\\x01\\] 0.0011989435834638413 0.00037332612470213474 68.86% 221.15% 3.21x
encode[bytes17-b'\\x01\\x01\\x01\\x] 0.000709647950546523 0.00012922331882727134 81.79% 449.16% 5.49x
encode[bytes18-b'\\x01\\x01\\x01\\x] 0.0007083641870423407 0.00012976113426651934 81.68% 445.90% 5.46x
encode[bytes19-b'\\x01\\x01\\x01\\x] 0.0007038688059374236 0.00012942315765194807 81.61% 443.85% 5.44x
encode[bytes2-b'\\x01\\x01'] 0.0007093827203219726 0.0001309679088996395 81.54% 441.65% 5.42x
encode[bytes20-b'\\x01\\x01\\x01\\x] 0.0007071506759622066 0.0001293153724802344 81.71% 446.84% 5.47x
encode[bytes21-b'\\x01\\x01\\x01\\x] 0.0007032176801098786 0.00012971647096408402 81.55% 442.12% 5.42x
encode[bytes22-b'\\x01\\x01\\x01\\x] 0.0007073653318661755 0.00012998354401003075 81.62% 444.20% 5.44x
encode[bytes23-b'\\x01\\x01\\x01\\x] 0.0007053206278056757 0.0001296687289560982 81.62% 443.94% 5.44x
encode[bytes24-b'\\x01\\x01\\x01\\x] 0.0007138876282901971 0.00012935675442597106 81.88% 451.88% 5.52x
encode[bytes25-b'\\x01\\x01\\x01\\x] 0.0007085764127607698 0.00013032031284884745 81.61% 443.72% 5.44x
encode[bytes26-b'\\x01\\x01\\x01\\x] 0.0007086585248130444 0.00012981465329561155 81.68% 445.90% 5.46x
encode[bytes27-b'\\x01\\x01\\x01\\x] 0.0007060937721476837 0.00013025784445114323 81.55% 442.07% 5.42x
encode[bytes28-b'\\x01\\x01\\x01\\x] 0.00070330970448779 0.00012940973092153001 81.60% 443.48% 5.43x
encode[bytes29-b'\\x01\\x01\\x01\\x] 0.0007043407588618906 0.0001306722940922525 81.45% 439.01% 5.39x
encode[bytes3-b'\\x01\\x01\\x01'] 0.0007053618955527258 0.00013068049020686999 81.47% 439.76% 5.40x
encode[bytes30-b'\\x01\\x01\\x01\\x] 0.0007039569571808223 0.00012960725483756797 81.59% 443.15% 5.43x
encode[bytes31-b'\\x01\\x01\\x01\\x] 0.0007021687663139962 0.00012969581390453097 81.53% 441.40% 5.41x
encode[bytes32-b'\\x01\\x01\\x01\\x] 0.0007014273543971551 0.00012628316371816013 82.00% 455.44% 5.55x
encode[bytes32[2]-[b'\\x00\\x00\\x00\\] 0.0010846408072617407 0.000302111859815109 72.15% 259.02% 3.59x
encode[bytes4-b'\\x01\\x01\\x01\\x] 0.0007388002248863763 0.0001300671199295078 82.39% 468.01% 5.68x
encode[bytes5-b'\\x01\\x01\\x01\\x] 0.0007067437720639958 0.0001306893409431368 81.51% 440.78% 5.41x
encode[bytes6-b'\\x01\\x01\\x01\\x] 0.0007020078933523732 0.0001305840633042428 81.40% 437.59% 5.38x
encode[bytes7-b'\\x01\\x01\\x01\\x] 0.0007170512554886334 0.00013040629051571748 81.81% 449.86% 5.50x
encode[bytes8-b'\\x01\\x01\\x01\\x] 0.0007063964054820127 0.00012974820090677554 81.63% 444.44% 5.44x
encode[bytes8[4]-[b'\\x01\\x01\\x01\\] 0.0013014942103711355 0.0004336827199980512 66.68% 200.10% 3.00x
encode[bytes9-b'\\x01\\x01\\x01\\x] 0.0007058987300981437 0.00012985964446403603 81.60% 443.59% 5.44x
encode[fixed128x1-Decimal('1.2')] 0.00240688939109847 0.0008952765881579665 62.80% 168.84% 2.69x
encode[fixed128x10-Decimal('1.20000] 0.0024383067629771193 0.0009045854127610037 62.90% 169.55% 2.70x
encode[fixed128x18-Decimal('1.20000] 0.002460575108090927 0.0009192163747780035 62.64% 167.68% 2.68x
encode[fixed128x2-Decimal('1.20')] 0.0024258116649183105 0.0008861389691548674 63.47% 173.75% 2.74x
encode[fixed16x1-Decimal('1.2')] 0.002214292471668892 0.0008715426411808556 60.64% 154.07% 2.54x
encode[fixed16x2-Decimal('1.20')] 0.0022360325901742873 0.0008767870331329211 60.79% 155.03% 2.55x
encode[fixed256x1-Decimal('1.2')] 0.002521733726535479 0.0008989902350495229 64.35% 180.51% 2.81x
encode[fixed256x10-Decimal('1.20000] 0.0025761006236175543 0.0009123859847590314 64.58% 182.35% 2.82x
encode[fixed256x18-Decimal('1.20000] 0.0025658348798990433 0.0009215034860849768 64.09% 178.44% 2.78x
encode[fixed256x2-Decimal('1.20')] 0.002534600681550799 0.0009026749747336884 64.39% 180.79% 2.81x
encode[fixed32x1-Decimal('1.2')] 0.002296954339231612 0.0008780522201991959 61.77% 161.60% 2.62x
encode[fixed32x2-Decimal('1.20')] 0.002316140107648354 0.0008843587926110953 61.82% 161.90% 2.62x
encode[fixed32x2[]-[]0] 0.0011636865034372747 0.00024174481434504586 79.23% 381.37% 4.81x
encode[fixed32x2[]-[]1] 0.0011488220491514488 0.000242122796888367 78.92% 374.48% 4.74x
encode[fixed32x2[2]-[Decimal('3.14')] 0.005573706461560376 0.0018324712096168345 67.12% 204.16% 3.04x
encode[fixed64x1-Decimal('1.2')] 0.0023581977624056102 0.000890181747266865 62.25% 164.91% 2.65x
encode[fixed64x10-Decimal('1.20000] 0.0024128870773226178 0.0009042112838315439 62.53% 166.85% 2.67x
encode[fixed64x18-Decimal('1.20000] 0.002413386679878896 0.0009145147730220996 62.11% 163.90% 2.64x
encode[fixed64x2-Decimal('1.20')] 0.002371092864727907 0.0008998336740973606 62.05% 163.50% 2.64x
encode[fixed8x1-Decimal('1.2')] 0.002187841159998243 0.0008720133929058194 60.14% 150.90% 2.51x
encode[fixed8x2-Decimal('1.20')] 0.0022107636194421466 0.0008804800221484868 60.17% 151.09% 2.51x
encode[function-b'\\x00\\x00\\x00\\x] 0.0007107613979060916 0.00013064436166157495 81.62% 444.04% 5.44x
encode[function-b'\\x01\\x01\\x01\\x] 0.0007078349384965886 0.0001300804846402644 81.62% 444.15% 5.44x
encode[function-b'\\xff\\xff\\xff\\x] 0.0007090484408106996 0.00013001310338005138 81.66% 445.37% 5.45x
encode[int128--170141183460469] 0.0009756073835474827 0.00023209351137233562 76.21% 320.35% 4.20x
encode[int128-1701411834604692] 0.0009624974684361488 0.00022801708866010693 76.31% 322.12% 4.22x
encode[int16--32768] 0.0008389328791663218 0.00021064711615235564 74.89% 298.26% 3.98x
encode[int16-32767] 0.0008432750619990548 0.0002116808780669622 74.90% 298.37% 3.98x
encode[int256--578960446186580] 0.001027974157532429 0.00023937405847073218 76.71% 329.44% 4.29x
encode[int256-5789604461865809] 0.0010041546534700436 0.00023450761348908875 76.65% 328.20% 4.28x
encode[int32--2147483648] 0.0008983497669637165 0.0002279853856079348 74.62% 294.04% 3.94x
encode[int32-2147483647] 0.0008849746219170154 0.00022245356291320393 74.86% 297.82% 3.98x
encode[int64--922337203685477] 0.000939768161095142 0.00022807397311807673 75.73% 312.05% 4.12x
encode[int64-9223372036854775] 0.0009260623153210581 0.00021886306829261242 76.37% 323.12% 4.23x
encode[int8--128] 0.0008024974510067604 0.00019397953570141608 75.83% 313.70% 4.14x
encode[int8-127] 0.0008070013466888949 0.0001932543483705819 76.05% 317.59% 4.18x
encode[string-''] 0.0010816037074538806 0.0003089432612083622 71.44% 250.10% 3.50x
encode[string-'\U0001d518\U0001d52b\U0001d526\U0001d520\U0001d52c\U0001d521\U0001d522'] 0.0011072786674735395 0.00031794833353024924 71.29% 248.26% 3.48x
encode[string-'aaaaaaaaaaaaaaa0] 0.0011078199107508963 0.000315985502418043 71.48% 250.59% 3.51x
encode[string-'aaaaaaaaaaaaaaa1] 0.001134039345404762 0.00034720532537534896 69.38% 226.62% 3.27x
encode[string-'bbbbbbbbbbbbbbb] 0.0011483840595028065 0.00035713292189869906 68.90% 221.56% 3.22x
encode[string-'hello world'] 0.001103611918966652 0.0003107468996895236 71.84% 255.15% 3.55x
encode[string[]-['a', 'b', 'c']] 0.0027348475467940596 0.0009350100483451052 65.81% 192.49% 2.92x
encode[string[]-[]0] 0.0011492442612449684 0.0002439973494058248 78.77% 371.01% 4.71x
encode[string[]-[]1] 0.0011558561779585754 0.0002444453261045771 78.85% 372.85% 4.73x
encode[string[10]-['0', '1', '2', ] 0.0058141417255616785 0.0023899963096438315 58.89% 143.27% 2.43x
encode[string[2]-['foo', 'bar']] 0.002175390634866013 0.0007133371189698028 67.21% 204.96% 3.05x
encode[string[5]-['a', 'b', 'c', ] 0.003658754143513955 0.0013326423536637875 63.58% 174.55% 2.75x
encode[ufixed128x1-Decimal('1.2')] 0.002186908721548755 0.0008522186828261787 61.03% 156.61% 2.57x
encode[ufixed128x10-Decimal('1.20000] 0.0022204247965833205 0.0008613292464247025 61.21% 157.79% 2.58x
encode[ufixed128x18-Decimal('1.20000] 0.0022397303300371596 0.0008800614620575693 60.71% 154.50% 2.54x
encode[ufixed128x2-Decimal('1.20')] 0.0022045003618815675 0.0008535539503403319 61.28% 158.27% 2.58x
encode[ufixed16x1-Decimal('1.2')] 0.0021133328403148306 0.0008527423498964243 59.65% 147.83% 2.48x
encode[ufixed16x2-Decimal('1.20')] 0.002110966234468968 0.0008521516114809196 59.63% 147.72% 2.48x
encode[ufixed256x1-Decimal('1.2')] 0.0022223865737946587 0.0008466291546594495 61.90% 162.50% 2.62x
encode[ufixed256x10-Decimal('1.20000] 0.002258191163391027 0.0008721001976679652 61.38% 158.94% 2.59x
encode[ufixed256x18-Decimal('1.20000] 0.002296134258838646 0.0008806125854853101 61.65% 160.74% 2.61x
encode[ufixed256x2-Decimal('1.20')] 0.0022238844791382067 0.0008552909369386684 61.54% 160.01% 2.60x
encode[ufixed32x1-Decimal('1.2')] 0.0021474037838745403 0.0008629170300082478 59.82% 148.85% 2.49x
encode[ufixed32x2-Decimal('1.20')] 0.0021405547756845073 0.0008596010864364676 59.84% 149.02% 2.49x
encode[ufixed64x1-Decimal('1.2')] 0.0021499139759298598 0.0008566284549144173 60.16% 150.97% 2.51x
encode[ufixed64x10-Decimal('1.20000] 0.0022313322839091813 0.0008725693784818063 60.89% 155.72% 2.56x
encode[ufixed64x18-Decimal('1.20000] 0.0022307823899745927 0.0008781700769519396 60.63% 154.03% 2.54x
encode[ufixed64x2-Decimal('1.20')] 0.0021900435854927238 0.0008613335939255971 60.67% 154.26% 2.54x
encode[ufixed8x1-Decimal('1.2')] 0.0021021451583118317 0.0008667108881778368 58.77% 142.54% 2.43x
encode[ufixed8x2-Decimal('1.20')] 0.0021194236966401245 0.0008584704818789595 59.50% 146.88% 2.47x
encode[uint128-3402823669209384] 0.0008407114910169584 0.000183259799042794 78.20% 358.75% 4.59x
encode[uint16-65535] 0.0007956082603437823 0.00018136897750695226 77.20% 338.67% 4.39x
encode[uint256-0] 0.0008591528518388667 0.0001796026108887565 79.10% 378.36% 4.78x
encode[uint256-1157920892373161] 0.0008721124421813948 0.00018302439784979177 79.01% 376.50% 4.77x
encode[uint256[2]-[0, 115792089237] 0.0015109638806742416 0.0004231602424867098 71.99% 257.07% 3.57x
encode[uint256[2][2]-[[1, 2], [3, 4]]] 0.003034293430429374 0.0008624090957324672 71.58% 251.84% 3.52x
encode[uint32-4294967295] 0.000819030087752668 0.00019378859433455962 76.34% 322.64% 4.23x
encode[uint64-1844674407370955] 0.0008338886344722686 0.00018347988316798363 78.00% 354.49% 4.54x
encode[uint8-0] 0.0007802717199617716 0.00017080105455982147 78.11% 356.83% 4.57x
encode[uint8-255] 0.0007927546708338519 0.00016875244259290258 78.71% 369.77% 4.70x
encode[uint8[]-[]0] 0.0011619002590267115 0.00024238548030271705 79.14% 379.36% 4.79x
encode[uint8[]-[]1] 0.0011575716242558927 0.0002428657637563432 79.02% 376.63% 4.77x
encode[uint8[]-[1, 2, 3, 4, 5]] 0.0021543536626938333 0.000787561649999049 63.44% 173.55% 2.74x
encode[uint8[][]-[[]]] 0.0018798505137327171 0.00039752396366588407 78.85% 372.89% 4.73x
encode[uint8[10]-[0, 1, 2, 3, 4, ] 0.0027791478926037544 0.0011875994648029712 57.27% 134.01% 2.34x
encode[uint8[100]-[0, 1, 2, 3, 4, ] 0.018796512250131715 0.009979439808155417 46.91% 88.35% 1.88x
encode[uint8[2][]-[]] 0.0011574648115264033 0.0002424335058868306 79.05% 377.44% 4.77x
encode[uint8[2][2][]-[]] 0.001157623212069637 0.0002414426382420686 79.14% 379.46% 4.79x
encode[uint8[3]-[1, 2, 3]] 0.0015029728486895381 0.0005022687810124801 66.58% 199.24% 2.99x
is_encodable_type[((uint8,uint8),uint8)] 0.000020402411168364607 0.00002015375798942258 1.22% 1.23% 1.01x
is_encodable_type[((uint8[2],(string,bool)),bytes32)] 0.000020018524574384734 0.00002011486933775918 -0.48% -0.48% 1.00x
is_encodable_type[((uint8[2][2],(string[2],bool[2])),bytes32[2])] 0.000021061995901611558 0.00002081804392877666 1.16% 1.17% 1.01x
is_encodable_type[(address,uint8)] 0.000020341918397878147 0.000020258099203196935 0.41% 0.41% 1.00x
is_encodable_type[(bytes[],string[])] 0.000020232381425489428 0.000020260621020535177 -0.14% -0.14% 1.00x
is_encodable_type[(bytes1,bytes2,bytes3,bytes4)] 0.00002028760478126458 0.000020120359303898724 0.82% 0.83% 1.01x
is_encodable_type[(bytes32[],string[])] 0.00002032009427932502 0.000020092413560387047 1.12% 1.13% 1.01x
is_encodable_type[(fixed32x2,uint8)] 0.000019685404236496753 0.00001994758266393809 -1.33% -1.31% 0.99x
is_encodable_type[(function,uint256)] 0.000020162815094441836 0.000020219488620393523 -0.28% -0.28% 1.00x
is_encodable_type[(string,bytes)] 0.00002037012846276625 0.00001964160720826812 3.58% 3.71% 1.04x
is_encodable_type[(string[],bytes[])] 0.000020195949459313256 0.000019987854929225568 1.03% 1.04% 1.01x
is_encodable_type[(uint256,bool)] 0.000020123967993276508 0.000020093827121244873 0.15% 0.15% 1.00x
is_encodable_type[(uint256[],(string[],bool))] 0.000019824417298647743 0.000020180634834090495 -1.80% -1.77% 0.98x
is_encodable_type[(uint256[2],string)] 0.00002040279836888403 0.000020082029038997642 1.57% 1.60% 1.02x
is_encodable_type[(uint8,(bool,string))] 0.000019991215935136687 0.000020213057914089974 -1.11% -1.10% 0.99x
is_encodable_type[(uint8[],string)] 0.000019947829034707648 0.00001995557712256006 -0.04% -0.04% 1.00x
is_encodable_type[(uint8[][],string)] 0.000020363953303393265 0.000020029502225902492 1.64% 1.67% 1.02x
is_encodable_type[(uint8[2],(string,bool[2]))] 0.000020217792095544994 0.000020392367676568083 -0.86% -0.86% 0.99x
is_encodable_type[(uint8[2][],string[])] 0.00002019449549111365 0.000020025820342708624 0.84% 0.84% 1.01x
is_encodable_type[(uint8[2][2],(string[2],bool[2]))] 0.000020510798116447404 0.000020435371639405143 0.37% 0.37% 1.00x
is_encodable_type[(uint8[2][2][],string[])] 0.000020671271821143887 0.000020850007418468616 -0.86% -0.86% 0.99x
is_encodable_type[(uint8[2][2][2],string)] 0.000020153424258979417 0.000020324519390212927 -0.85% -0.84% 0.99x
is_encodable_type[(uint8[2][2][2][2],string[2])] 0.000020288129403407114 0.000020092664988853828 0.96% 0.97% 1.01x
is_encodable_type[(uint8[2][2][2][2][],string[])] 0.00001945122467952328 0.000020079389275409605 -3.23% -3.13% 0.97x
is_encodable_type[(uint8[2][2][2][2][2],string[2][2])] 0.000020167230252152866 0.000019931654791554832 1.17% 1.18% 1.01x
is_encodable_type[(uint8[3],(string[2],bool[2]))] 0.00002000093114526305 0.000020209656549326545 -1.04% -1.03% 0.99x
is_encodable_type[address[2]] 0.000020162492601618815 0.00002005125244399258 0.55% 0.55% 1.01x
is_encodable_type[address] 0.000019812581339330345 0.000019797421627471686 0.08% 0.08% 1.00x
is_encodable_type[bool[][2]] 0.000020192165726817014 0.000020001171405954975 0.95% 0.95% 1.01x
is_encodable_type[bool[4]] 0.00001990316254047759 0.00002022897107623902 -1.64% -1.61% 0.98x
is_encodable_type[bool] 0.00001996519508005944 0.00001985898993471013 0.53% 0.53% 1.01x
is_encodable_type[bytes[]] 0.00002012723082512817 0.000020305665847655505 -0.89% -0.88% 0.99x
is_encodable_type[bytes[10]] 0.000020132004043991633 0.00002001392060244911 0.59% 0.59% 1.01x
is_encodable_type[bytes[100]] 0.000019920455527010697 0.000019965061062783054 -0.22% -0.22% 1.00x
is_encodable_type[bytes] 0.000019738105071052566 0.000019580826191994426 0.80% 0.80% 1.01x
is_encodable_type[bytes1] 0.000019823373351306197 0.000019915447706551992 -0.46% -0.46% 1.00x
is_encodable_type[bytes10] 0.000019816217343366596 0.00002003243941950053 -1.09% -1.08% 0.99x
is_encodable_type[bytes11] 0.000020318708799416398 0.00002005623609658338 1.29% 1.31% 1.01x
is_encodable_type[bytes12] 0.000019947615724322376 0.000020175349215251482 -1.14% -1.13% 0.99x
is_encodable_type[bytes13] 0.000019928588786092597 0.00001999909689114975 -0.35% -0.35% 1.00x
is_encodable_type[bytes14] 0.000020227276128139523 0.00002034399523423105 -0.58% -0.57% 0.99x
is_encodable_type[bytes15] 0.00002014373440648484 0.00002016336287585044 -0.10% -0.10% 1.00x
is_encodable_type[bytes16[3]] 0.000020061253092202276 0.000020011640503506524 0.25% 0.25% 1.00x
is_encodable_type[bytes16] 0.00002017821597928446 0.00001995687782373432 1.10% 1.11% 1.01x
is_encodable_type[bytes17] 0.000020012919979940177 0.000019980785755598576 0.16% 0.16% 1.00x
is_encodable_type[bytes18] 0.00002035055280698069 0.00002036089477669351 -0.05% -0.05% 1.00x
is_encodable_type[bytes19] 0.000020521849605908466 0.000020040724802201565 2.34% 2.40% 1.02x
is_encodable_type[bytes2] 0.000020252925499934013 0.000019950703564557268 1.49% 1.51% 1.02x
is_encodable_type[bytes20] 0.000020028893768463833 0.000020403977159367806 -1.87% -1.84% 0.98x
is_encodable_type[bytes21] 0.000020015154291697126 0.00001996041157188775 0.27% 0.27% 1.00x
is_encodable_type[bytes22] 0.000020341516524578806 0.000020516387445574946 -0.86% -0.85% 0.99x
is_encodable_type[bytes23] 0.00001987209165285014 0.00002004971505897033 -0.89% -0.89% 0.99x
is_encodable_type[bytes24] 0.000019913189493670457 0.000020200694425620908 -1.44% -1.42% 0.99x
is_encodable_type[bytes25] 0.000020077093614524306 0.00002020175492940124 -0.62% -0.62% 0.99x
is_encodable_type[bytes26] 0.000020197699451933662 0.000020040628041907696 0.78% 0.78% 1.01x
is_encodable_type[bytes27] 0.000020241089000926605 0.000020013088742861688 1.13% 1.14% 1.01x
is_encodable_type[bytes28] 0.0000202332495078491 0.000020109576885077055 0.61% 0.61% 1.01x
is_encodable_type[bytes29] 0.00002021677043882021 0.00002023977290445343 -0.11% -0.11% 1.00x
is_encodable_type[bytes3] 0.000020160247597996312 0.000019956369200668213 1.01% 1.02% 1.01x
is_encodable_type[bytes30] 0.000020252550880889013 0.000020001199995897864 1.24% 1.26% 1.01x
is_encodable_type[bytes31] 0.00002013146430064256 0.000020051389989816863 0.40% 0.40% 1.00x
is_encodable_type[bytes32[2]] 0.0000201605480521058 0.000020055635555230443 0.52% 0.52% 1.01x
is_encodable_type[bytes32] 0.000020261649027875895 0.00002023465542547922 0.13% 0.13% 1.00x
is_encodable_type[bytes4] 0.00002020208621781927 0.000019878289091468878 1.60% 1.63% 1.02x
is_encodable_type[bytes5] 0.00001988786377549968 0.00002002159132160862 -0.67% -0.67% 0.99x
is_encodable_type[bytes6] 0.000020265468964976153 0.00002039559481292366 -0.64% -0.64% 0.99x
is_encodable_type[bytes7] 0.000020282128694719147 0.00002030138208640381 -0.09% -0.09% 1.00x
is_encodable_type[bytes8[4]] 0.000020477091809374184 0.0000203919505012687 0.42% 0.42% 1.00x
is_encodable_type[bytes8] 0.000020163185777300305 0.00002032248378102059 -0.79% -0.78% 0.99x
is_encodable_type[bytes9] 0.000020168433012064756 0.000019973490014345682 0.97% 0.98% 1.01x
is_encodable_type[fixed128x1] 0.000020340720631089437 0.00002016633879356807 0.86% 0.86% 1.01x
is_encodable_type[fixed128x10] 0.000020488690666730456 0.00002026130965359059 1.11% 1.12% 1.01x
is_encodable_type[fixed128x18] 0.000020353840193973904 0.000020253688062740407 0.49% 0.49% 1.00x
is_encodable_type[fixed128x2] 0.000019879209739870058 0.000019485862022537353 1.98% 2.02% 1.02x
is_encodable_type[fixed16x1] 0.00002037585723226768 0.000020175556133189846 0.98% 0.99% 1.01x
is_encodable_type[fixed16x2] 0.000020137359304812855 0.000020172962823803412 -0.18% -0.18% 1.00x
is_encodable_type[fixed256x1] 0.00001972248234894209 0.00002010940214979455 -1.96% -1.92% 0.98x
is_encodable_type[fixed256x10] 0.000020142707890700147 0.000019969883284217132 0.86% 0.87% 1.01x
is_encodable_type[fixed256x18] 0.000019971850467878148 0.000020043933226301498 -0.36% -0.36% 1.00x
is_encodable_type[fixed256x2] 0.000020105963847152327 0.00002003661702264474 0.34% 0.35% 1.00x
is_encodable_type[fixed32x1] 0.000020204868942693128 0.000020153541507044563 0.25% 0.25% 1.00x
is_encodable_type[fixed32x2[]] 0.000020191566298158296 0.000020627904796686227 -2.16% -2.12% 0.98x
is_encodable_type[fixed32x2[2]] 0.000020179099858878824 0.000019967152411198236 1.05% 1.06% 1.01x
is_encodable_type[fixed32x2] 0.00002040298078509169 0.000020346106422927746 0.28% 0.28% 1.00x
is_encodable_type[fixed64x1] 0.00002015440117467558 0.00002013310830277251 0.11% 0.11% 1.00x
is_encodable_type[fixed64x10] 0.000019975118297481675 0.00002020364651790887 -1.14% -1.13% 0.99x
is_encodable_type[fixed64x18] 0.00002005051335950357 0.000020208917556784825 -0.79% -0.78% 0.99x
is_encodable_type[fixed64x2] 0.00001984820432012579 0.00002015687316316373 -1.56% -1.53% 0.98x
is_encodable_type[fixed8x1] 0.000020064171346551632 0.000019967140316571764 0.48% 0.49% 1.00x
is_encodable_type[fixed8x2] 0.00001999539379553629 0.000020277694364467616 -1.41% -1.39% 0.99x
is_encodable_type[function] 0.000019700213375478088 0.000019690239272396445 0.05% 0.05% 1.00x
is_encodable_type[int128] 0.000019883083933706464 0.000019505207801640187 1.90% 1.94% 1.02x
is_encodable_type[int16] 0.000019820549299382066 0.000019504027944310956 1.60% 1.62% 1.02x
is_encodable_type[int256] 0.000019816207628899596 0.000019085705671700295 3.69% 3.83% 1.04x
is_encodable_type[int32] 0.000019805853994675687 0.00001981103273832887 -0.03% -0.03% 1.00x
is_encodable_type[int64] 0.0000197939026234475 0.000019774459989861147 0.10% 0.10% 1.00x
is_encodable_type[int8] 0.00001985320021185314 0.000019502201572661507 1.77% 1.80% 1.02x
is_encodable_type[string[]] 0.000020034859997669525 0.00002000182848315502 0.16% 0.17% 1.00x
is_encodable_type[string[10]] 0.000020059612414278468 0.00002011556793845163 -0.28% -0.28% 1.00x
is_encodable_type[string[2]] 0.000020163029838182137 0.00002026881586240748 -0.52% -0.52% 0.99x
is_encodable_type[string[5]] 0.00002009297353014233 0.000020085541290626144 0.04% 0.04% 1.00x
is_encodable_type[string] 0.00001979430366939494 0.000020306334748726458 -2.59% -2.52% 0.97x
is_encodable_type[ufixed128x1] 0.000019927494236057314 0.0000201942291960478 -1.34% -1.32% 0.99x
is_encodable_type[ufixed128x10] 0.000020260317772801334 0.000020020639212557754 1.18% 1.20% 1.01x
is_encodable_type[ufixed128x18] 0.00001987024770846212 0.000019917170324697833 -0.24% -0.24% 1.00x
is_encodable_type[ufixed128x2] 0.00002036344462709202 0.000020325145865500945 0.19% 0.19% 1.00x
is_encodable_type[ufixed16x1] 0.000020378169532184034 0.000019775193403286597 2.96% 3.05% 1.03x
is_encodable_type[ufixed16x2] 0.000020196348946082788 0.000020156358338640124 0.20% 0.20% 1.00x
is_encodable_type[ufixed256x1] 0.000019544407917892967 0.000020005799196239832 -2.36% -2.31% 0.98x
is_encodable_type[ufixed256x10] 0.00002012846774760908 0.000020130118359894496 -0.01% -0.01% 1.00x
is_encodable_type[ufixed256x18] 0.00002012224502277846 0.0000202539211799811 -0.65% -0.65% 0.99x
is_encodable_type[ufixed256x2] 0.00002035282976958013 0.000020440463154488785 -0.43% -0.43% 1.00x
is_encodable_type[ufixed32x1] 0.000020249994761460832 0.000020318873783570707 -0.34% -0.34% 1.00x
is_encodable_type[ufixed32x2] 0.00002004906498274195 0.000020350580394321264 -1.50% -1.48% 0.99x
is_encodable_type[ufixed64x1] 0.000020050500972815453 0.00002025397572485391 -1.01% -1.00% 0.99x
is_encodable_type[ufixed64x10] 0.000020494800477308198 0.0000200964217951844 1.94% 1.98% 1.02x
is_encodable_type[ufixed64x18] 0.000020161528647334325 0.000020079243901906303 0.41% 0.41% 1.00x
is_encodable_type[ufixed64x2] 0.00002010470125984053 0.000020254450919228924 -0.74% -0.74% 0.99x
is_encodable_type[ufixed8x1] 0.000020136920340583662 0.000020131294928810053 0.03% 0.03% 1.00x
is_encodable_type[ufixed8x2] 0.000020371011344912875 0.000020022236344588037 1.71% 1.74% 1.02x
is_encodable_type[uint128] 0.000019864270083891343 0.000019847567397843616 0.08% 0.08% 1.00x
is_encodable_type[uint16] 0.000019719473986807108 0.000019677561398503184 0.21% 0.21% 1.00x
is_encodable_type[uint256[2][2]] 0.000020081697002732684 0.0000204208426329123 -1.69% -1.66% 0.98x
is_encodable_type[uint256[2]] 0.00001999484581308097 0.00002001693624238737 -0.11% -0.11% 1.00x
is_encodable_type[uint256] 0.00001984389609534916 0.000019747861748007113 0.48% 0.49% 1.00x
is_encodable_type[uint32] 0.00001948353597110533 0.000019782292631353263 -1.53% -1.51% 0.98x
is_encodable_type[uint64] 0.000019891576970382807 0.000019610377709718286 1.41% 1.43% 1.01x
is_encodable_type[uint8[][]] 0.000020456042405756656 0.00002028964717980727 0.81% 0.82% 1.01x
is_encodable_type[uint8[]] 0.00001996589481237415 0.000020268966849659002 -1.52% -1.50% 0.99x
is_encodable_type[uint8[10]] 0.000019949558974111506 0.000020173103336904712 -1.12% -1.11% 0.99x
is_encodable_type[uint8[100]] 0.000019929250964438716 0.00002042082341838906 -2.47% -2.41% 0.98x
is_encodable_type[uint8[2][]] 0.00002008963517978658 0.000019937996030664538 0.75% 0.76% 1.01x
is_encodable_type[uint8[2][2][]] 0.000020175808985382124 0.00002023439399889875 -0.29% -0.29% 1.00x
is_encodable_type[uint8[3]] 0.000019947709374352337 0.000019772766126893205 0.88% 0.88% 1.01x
is_encodable_type[uint8] 0.00001987164040050349 0.00001975113509473529 0.61% 0.61% 1.01x
is_encodable[((uint8,uint8),uint8)-((1, 2), 3)] 0.00041522862550186386 0.00018227374965462204 56.10% 127.80% 2.28x
is_encodable[((uint8[2],(string,bool)),bytes32)-(([1, 2], ('hi',] 0.0006368092579163733 0.00028999465509099216 54.46% 119.59% 2.20x
is_encodable[((uint8[2][2],(string[2],bool[2])),bytes32[2])-(([[1, 2], [3, 4] 0.0011249750107153898 0.0007743148657639354 31.17% 45.29% 1.45x
is_encodable[(address,uint8)-(b'\\x00\\x00\\x00\\] 0.00024422161371521426 0.00010833814564265517 55.64% 125.43% 2.25x
is_encodable[(bytes[],string[])-([], [])] 0.00026793631349340867 0.0001677295265275423 37.40% 59.74% 1.60x
is_encodable[(bytes1,bytes2,bytes3,bytes4)-(b'\\x01', b'\\x01] 0.00022543255948935162 0.00013183916939327428 41.52% 70.99% 1.71x
is_encodable[(bytes32[],string[])-([b'\\x00\\x00\\x00] 0.00034847961224826273 0.0002326936234201858 33.23% 49.76% 1.50x
is_encodable[(fixed32x2,uint8)-(Decimal('3.14')] 0.000879187199461394 0.00039283511200291716 55.32% 123.81% 2.24x
is_encodable[(function,uint256)-(b'\\x01\\x01\\x01\\] 0.00025960354062453273 0.00011837831326644293 54.40% 119.30% 2.19x
is_encodable[(string,bytes)-('foo', b'bar')] 0.00019603871034429055 0.000079844365648423 59.27% 145.53% 2.46x
is_encodable[(string[],bytes[])-([''], [b''])] 0.00030447531171170735 0.00019925059047735347 34.56% 52.81% 1.53x
is_encodable[(string[],bytes[])-([], [])] 0.00026653137176443415 0.0001661386997670171 37.67% 60.43% 1.60x
is_encodable[(uint256,bool)-(42, True)] 0.00025691813117792813 0.00010776703046343494 58.05% 138.40% 2.38x
is_encodable[(uint256[],(string[],bool))-([1, 2, 3], (['a] 0.0006845458924534394 0.0003365664793046451 50.83% 103.39% 2.03x
is_encodable[(uint256[2],string)-([1, 2], 'baz')] 0.00040225875391835907 0.00020453993342160634 49.15% 96.67% 1.97x
is_encodable[(uint8,(bool,string))-(7, (False, 'hi'] 0.0003711165313223141 0.00013793547362978044 62.83% 169.05% 2.69x
is_encodable[(uint8[],string)-([], '')] 0.0002337212591358129 0.00012100117438873166 48.23% 93.16% 1.93x
is_encodable[(uint8[][],string)-([[]], '')] 0.00028734391486707773 0.00017282906709436343 39.85% 66.26% 1.66x
is_encodable[(uint8[2],(string,bool[2]))-([1, 2], ('x', [] 0.0005840625594224806 0.00032652624003770277 44.09% 78.87% 1.79x
is_encodable[(uint8[2][],string[])-([], [])] 0.00027747574400660037 0.00016539490733952046 40.39% 67.77% 1.68x
is_encodable[(uint8[2][2],(string[2],bool[2]))-([[1, 2], [3, 4]] 0.0009027005782231068 0.0006293603500234988 30.28% 43.43% 1.43x
is_encodable[(uint8[2][2][],string[])-([], [])] 0.00027048015639703955 0.00016825690553489922 37.79% 60.75% 1.61x
is_encodable[(uint8[2][2][2],string)-([[[1, 2], [3, 4] 0.0010161837987625712 0.000777052612558801 23.53% 30.77% 1.31x
is_encodable[(uint8[2][2][2][2],string[2])-([[[[1, 2], [3, ] 0.001976867367397508 0.0016211118797578206 18.00% 21.95% 1.22x
is_encodable[(uint8[2][2][2][2][],string[])-([], [])] 0.0002684335760620077 0.00016902966546021505 37.03% 58.81% 1.59x
is_encodable[(uint8[2][2][2][2][2],string[2][2])-([[[[[1, 2], [3,] 0.003953811729020906 0.0033164832474278103 16.12% 19.22% 1.19x
is_encodable[(uint8[3],(string[2],bool[2]))-([1, 2, 3], (['a] 0.0007043273760356283 0.0004417968060505698 37.27% 59.42% 1.59x
is_encodable[address-b'\\x00\\x00\\x00\\x] 0.0000636428281857831 0.00003904900112490987 38.64% 62.98% 1.63x
is_encodable[address-b'\\xff\\xff\\xff\\x] 0.00006320139684590937 0.00003912755173481933 38.09% 61.53% 1.62x
is_encodable[address[2]-[b'\\x00\\x00\\x00\\] 0.00016898040180870073 0.0001316364623527591 22.10% 28.37% 1.28x
is_encodable[bool-False] 0.00004339828983077181 0.00003345265042295479 22.92% 29.73% 1.30x
is_encodable[bool-True] 0.000043793910722360934 0.00003317822964333136 24.24% 32.00% 1.32x
is_encodable[bool[][2]-[[True, False], ] 0.00027900028946353615 0.00024440895521840513 12.40% 14.15% 1.14x
is_encodable[bool[4]-[True, False, Tr] 0.00016185725915923282 0.0001396157536115897 13.74% 15.93% 1.16x
is_encodable[bytes-b''] 0.00004568605329657443 0.00003820319166746407 16.38% 19.59% 1.20x
is_encodable[bytes-b'\\x00\\x00\\x00\\x0] 0.00004644893613544815 0.000038301109054990324 17.54% 21.27% 1.21x
is_encodable[bytes-b'\\x00\\x00\\x00\\x1] 0.000045799629623361965 0.00003841172830771522 16.13% 19.23% 1.19x
is_encodable[bytes-b'aaaaaaaaaaaaaa] 0.000045918925847051555 0.00003853671431886614 16.08% 19.16% 1.19x
is_encodable[bytes-b'hello world'] 0.00004603328397533553 0.00003785620884228889 17.76% 21.60% 1.22x
is_encodable[bytes[]-[]0] 0.00008661667251268616 0.00008203485748392254 5.29% 5.59% 1.06x
is_encodable[bytes[]-[]1] 0.00008498089450015751 0.0000822948077052112 3.16% 3.26% 1.03x
is_encodable[bytes[]-[b'abc', b'def',] 0.000133757337500331 0.00012839074280787105 4.01% 4.18% 1.04x
is_encodable[bytes[10]-[b'\\x00\\x00\\x00\\] 0.0002549369566734158 0.00024032639683947175 5.73% 6.08% 1.06x
is_encodable[bytes[100]-[b'\\x00\\x00\\x00\\] 0.0016002407262096282 0.0014426815245447522 9.85% 10.92% 1.11x
is_encodable[bytes1-b'\\x01'] 0.000043279947294752376 0.00004581732796919077 -5.86% -5.54% 0.94x
is_encodable[bytes10-b'\\x01\\x01\\x01\\x] 0.000043489088013309995 0.00004677351803543758 -7.55% -7.02% 0.93x
is_encodable[bytes11-b'\\x01\\x01\\x01\\x] 0.000043807206864575616 0.00004610283412367361 -5.24% -4.98% 0.95x
is_encodable[bytes12-b'\\x01\\x01\\x01\\x] 0.00004369981829224842 0.0000468946772346192 -7.31% -6.81% 0.93x
is_encodable[bytes13-b'\\x01\\x01\\x01\\x] 0.000043852816450383395 0.00004608005448196201 -5.08% -4.83% 0.95x
is_encodable[bytes14-b'\\x01\\x01\\x01\\x] 0.000043556761407140755 0.00004672919575573038 -7.28% -6.79% 0.93x
is_encodable[bytes15-b'\\x01\\x01\\x01\\x] 0.0000437625951598859 0.000046135990046409226 -5.42% -5.14% 0.95x
is_encodable[bytes16-b'\\x01\\x01\\x01\\x] 0.000044137264434839966 0.00004682445447685448 -6.09% -5.74% 0.94x
is_encodable[bytes16[3]-[b'\\x01\\x01\\x01\\] 0.00014790024979769375 0.00014144319672368334 4.37% 4.57% 1.05x
is_encodable[bytes17-b'\\x01\\x01\\x01\\x] 0.00004365044586972987 0.00004617715524154233 -5.79% -5.47% 0.95x
is_encodable[bytes18-b'\\x01\\x01\\x01\\x] 0.00004450691580510221 0.00004691945892080954 -5.42% -5.14% 0.95x
is_encodable[bytes19-b'\\x01\\x01\\x01\\x] 0.00004374973667211439 0.00004601855011121452 -5.19% -4.93% 0.95x
is_encodable[bytes2-b'\\x01\\x01'] 0.00004346979170544191 0.00004719025995742707 -8.56% -7.88% 0.92x
is_encodable[bytes20-b'\\x01\\x01\\x01\\x] 0.0000441646327157063 0.00004670245335575727 -5.75% -5.43% 0.95x
is_encodable[bytes21-b'\\x01\\x01\\x01\\x] 0.000044135824255789446 0.000046747129623072365 -5.92% -5.59% 0.94x
is_encodable[bytes22-b'\\x01\\x01\\x01\\x] 0.000044049109412508965 0.00004592876584517672 -4.27% -4.09% 0.96x
is_encodable[bytes23-b'\\x01\\x01\\x01\\x] 0.000044783743593086765 0.00004679460764479814 -4.49% -4.30% 0.96x
is_encodable[bytes24-b'\\x01\\x01\\x01\\x] 0.00004304255626698262 0.00004637044311023029 -7.73% -7.18% 0.93x
is_encodable[bytes25-b'\\x01\\x01\\x01\\x] 0.00004376584194359324 0.0000462848102986058 -5.76% -5.44% 0.95x
is_encodable[bytes26-b'\\x01\\x01\\x01\\x] 0.00004416956875697192 0.00004620909269450909 -4.62% -4.41% 0.96x
is_encodable[bytes27-b'\\x01\\x01\\x01\\x] 0.00004449156896780552 0.00004451188508660156 -0.05% -0.05% 1.00x
is_encodable[bytes28-b'\\x01\\x01\\x01\\x] 0.000044285292113346736 0.00004546816652599807 -2.67% -2.60% 0.97x
is_encodable[bytes29-b'\\x01\\x01\\x01\\x] 0.00004441456059217086 0.00004545662828264399 -2.35% -2.29% 0.98x
is_encodable[bytes3-b'\\x01\\x01\\x01'] 0.00004342482921434566 0.00004602476616692448 -5.99% -5.65% 0.94x
is_encodable[bytes30-b'\\x01\\x01\\x01\\x] 0.00004410272611592663 0.00004565516069949918 -3.52% -3.40% 0.97x
is_encodable[bytes31-b'\\x01\\x01\\x01\\x] 0.00004435570004624096 0.00004501384241063765 -1.48% -1.46% 0.99x
is_encodable[bytes32-b'\\x01\\x01\\x01\\x] 0.000044086443566998925 0.000045439613591465916 -3.07% -2.98% 0.97x
is_encodable[bytes32[2]-[b'\\x00\\x00\\x00\\] 0.00013308753737425303 0.00012554711817646435 5.67% 6.01% 1.06x
is_encodable[bytes4-b'\\x01\\x01\\x01\\x] 0.00004394603255894911 0.00004606868957237101 -4.83% -4.61% 0.95x
is_encodable[bytes5-b'\\x01\\x01\\x01\\x] 0.00004384756365900947 0.00004617890242785191 -5.32% -5.05% 0.95x
is_encodable[bytes6-b'\\x01\\x01\\x01\\x] 0.000043849029571101264 0.00004619916031568824 -5.36% -5.09% 0.95x
is_encodable[bytes7-b'\\x01\\x01\\x01\\x] 0.00004366047587939078 0.00004649920665022418 -6.50% -6.10% 0.94x
is_encodable[bytes8-b'\\x01\\x01\\x01\\x] 0.00004405105097287915 0.00004611576160573936 -4.69% -4.48% 0.96x
is_encodable[bytes8[4]-[b'\\x01\\x01\\x01\\] 0.00016405839776282343 0.00015876610839455051 3.23% 3.33% 1.03x
is_encodable[bytes9-b'\\x01\\x01\\x01\\x] 0.00004366340582815232 0.00004693119376512426 -7.48% -6.96% 0.93x
is_encodable[fixed128x1-Decimal('1.2')] 0.0007240852435428531 0.000304243186266412 57.98% 138.00% 2.38x
is_encodable[fixed128x10-Decimal('1.20000] 0.0007385879067055069 0.0003069426531694627 58.44% 140.63% 2.41x
is_encodable[fixed128x18-Decimal('1.20000] 0.0007410385484807634 0.00030460968498900195 58.89% 143.27% 2.43x
is_encodable[fixed128x2-Decimal('1.20')] 0.0007282777167937132 0.00030383337312253167 58.28% 139.70% 2.40x
is_encodable[fixed16x1-Decimal('1.2')] 0.0006444190075992022 0.00030287250241299037 53.00% 112.77% 2.13x
is_encodable[fixed16x2-Decimal('1.20')] 0.0006468747741476879 0.00030451311967135173 52.93% 112.43% 2.12x
is_encodable[fixed256x1-Decimal('1.2')] 0.0007748777307471388 0.00030438922937364574 60.72% 154.57% 2.55x
is_encodable[fixed256x10-Decimal('1.20000] 0.00079124274195032 0.00030535299070266086 61.41% 159.12% 2.59x
is_encodable[fixed256x18-Decimal('1.20000] 0.0008033824084292465 0.0003046006338381584 62.09% 163.75% 2.64x
is_encodable[fixed256x2-Decimal('1.20')] 0.0007793709644013369 0.00030446080181765697 60.94% 155.98% 2.56x
is_encodable[fixed32x1-Decimal('1.2')] 0.0006729984740912386 0.0003047167458884793 54.72% 120.86% 2.21x
is_encodable[fixed32x2-Decimal('1.20')] 0.0006801691531516444 0.0003065637451575212 54.93% 121.87% 2.22x
is_encodable[fixed32x2[]-[]0] 0.00008690381232735815 0.00008295456276301949 4.54% 4.76% 1.05x
is_encodable[fixed32x2[]-[]1] 0.00008521064274821186 0.00008331445219148443 2.23% 2.28% 1.02x
is_encodable[fixed32x2[2]-[Decimal('3.14')] 0.0014041972838346255 0.0006631294091168375 52.78% 111.75% 2.12x
is_encodable[fixed64x1-Decimal('1.2')] 0.0006917653662164555 0.00030413040403463594 56.04% 127.46% 2.27x
is_encodable[fixed64x10-Decimal('1.20000] 0.0007094630957978482 0.00030314021763362236 57.27% 134.04% 2.34x
is_encodable[fixed64x18-Decimal('1.20000] 0.0007125235210250421 0.0003026336079390832 57.53% 135.44% 2.35x
is_encodable[fixed64x2-Decimal('1.20')] 0.0007023654620192205 0.00030348876925623524 56.79% 131.43% 2.31x
is_encodable[fixed8x1-Decimal('1.2')] 0.0006282160193600242 0.00030436640089724593 51.55% 106.40% 2.06x
is_encodable[fixed8x2-Decimal('1.20')] 0.0006327138561469784 0.0003095346988581585 51.08% 104.41% 2.04x
is_encodable[function-b'\\x00\\x00\\x00\\x] 0.00004188300452036033 0.000045858086220759984 -9.49% -8.67% 0.91x
is_encodable[function-b'\\x01\\x01\\x01\\x] 0.00004354794458546364 0.00004546657641793281 -4.41% -4.22% 0.96x
is_encodable[function-b'\\xff\\xff\\xff\\x] 0.00004282863495415849 0.000045746317865517394 -6.81% -6.38% 0.94x
is_encodable[int128--170141183460469] 0.0001543542937899661 0.00006417528045677968 58.42% 140.52% 2.41x
is_encodable[int128-1701411834604692] 0.00015409912665449466 0.00006429315839689279 58.28% 139.68% 2.40x
is_encodable[int16--32768] 0.00008998909750918465 0.00006254451250914015 30.50% 43.88% 1.44x
is_encodable[int16-32767] 0.00009014330861805554 0.00006306345809852792 30.04% 42.94% 1.43x
is_encodable[int256--578960446186580] 0.00018108006521645208 0.00006333500905329123 65.02% 185.91% 2.86x
is_encodable[int256-5789604461865809] 0.00018048469404472248 0.00006450514772194623 64.26% 179.80% 2.80x
is_encodable[int32--2147483648] 0.0001143631178957083 0.00006867996110123218 39.95% 66.52% 1.67x
is_encodable[int32-2147483647] 0.00011411913012616067 0.00006810755806851057 40.32% 67.56% 1.68x
is_encodable[int64--922337203685477] 0.00013238680692133632 0.00006429104620048442 51.44% 105.92% 2.06x
is_encodable[int64-9223372036854775] 0.00013358978723554212 0.00006387499629855507 52.19% 109.14% 2.09x
is_encodable[int8--128] 0.00008014003095619539 0.00005858268561686099 26.90% 36.80% 1.37x
is_encodable[int8-127] 0.00007847801618103973 0.000060033122334803975 23.50% 30.72% 1.31x
is_encodable[string-''] 0.000045773932354191014 0.000033208413261288035 27.45% 37.84% 1.38x
is_encodable[string-'\U0001d518\U0001d52b\U0001d526\U0001d520\U0001d52c\U0001d521\U0001d522'] 0.00004594714837271903 0.00003324701244666262 27.64% 38.20% 1.38x
is_encodable[string-'aaaaaaaaaaaaaaa0] 0.00004574994021803747 0.00003298853771359694 27.89% 38.68% 1.39x
is_encodable[string-'aaaaaaaaaaaaaaa1] 0.000045931769922926416 0.000032536428800676486 29.16% 41.17% 1.41x
is_encodable[string-'bbbbbbbbbbbbbbb] 0.000045712862692278994 0.000032942573954886464 27.94% 38.77% 1.39x
is_encodable[string-'hello world'] 0.000046214180279304785 0.000033010881925617446 28.57% 40.00% 1.40x
is_encodable[string[]-['a', 'b', 'c']] 0.00013414815433437943 0.00011606388889632072 13.48% 15.58% 1.16x
is_encodable[string[]-[]0] 0.00008476969214047226 0.00008257129815567916 2.59% 2.66% 1.03x
is_encodable[string[]-[]1] 0.00008518636110860761 0.00008296602691449612 2.61% 2.68% 1.03x
is_encodable[string[10]-['0', '1', '2', ] 0.00025237691644906124 0.00020486646954555925 18.83% 23.19% 1.23x
is_encodable[string[2]-['foo', 'bar']] 0.00013239536743228156 0.00011863084574315248 10.40% 11.60% 1.12x
is_encodable[string[5]-['a', 'b', 'c', ] 0.00017916598081641152 0.0001494434739800493 16.59% 19.89% 1.20x
is_encodable[ufixed128x1-Decimal('1.2')] 0.0006238918885069625 0.00030384547620328385 51.30% 105.33% 2.05x
is_encodable[ufixed128x10-Decimal('1.20000] 0.000644763018342637 0.00030529517670988395 52.65% 111.19% 2.11x
is_encodable[ufixed128x18-Decimal('1.20000] 0.0006444146543373841 0.0003064782012426843 52.44% 110.26% 2.10x
is_encodable[ufixed128x2-Decimal('1.20')] 0.0006305818638343122 0.00030610356786948874 51.46% 106.00% 2.06x
is_encodable[ufixed16x1-Decimal('1.2')] 0.0005928665450105858 0.0003033189076517287 48.84% 95.46% 1.95x
is_encodable[ufixed16x2-Decimal('1.20')] 0.0005993913281699872 0.00030593041533545406 48.96% 95.92% 1.96x
is_encodable[ufixed256x1-Decimal('1.2')] 0.0006495832772235052 0.000307133303599406 52.72% 111.50% 2.11x
is_encodable[ufixed256x10-Decimal('1.20000] 0.0006631359279153009 0.0003059987953935262 53.86% 116.71% 2.17x
is_encodable[ufixed256x18-Decimal('1.20000] 0.0006685769065199196 0.0003034830365548924 54.61% 120.30% 2.20x
is_encodable[ufixed256x2-Decimal('1.20')] 0.0006547462869438307 0.00031002102866227064 52.65% 111.19% 2.11x
is_encodable[ufixed32x1-Decimal('1.2')] 0.0006047700982134442 0.0003055353801703313 49.48% 97.94% 1.98x
is_encodable[ufixed32x2-Decimal('1.20')] 0.0006122073845857438 0.0003057366462277536 50.06% 100.24% 2.00x
is_encodable[ufixed64x1-Decimal('1.2')] 0.0006136349458882433 0.00030448180961453297 50.38% 101.53% 2.02x
is_encodable[ufixed64x10-Decimal('1.20000] 0.0006312511504972727 0.0003052392113467858 51.65% 106.81% 2.07x
is_encodable[ufixed64x18-Decimal('1.20000] 0.0006313552636853027 0.0003052276638669228 51.66% 106.85% 2.07x
is_encodable[ufixed64x2-Decimal('1.20')] 0.0006186215321378906 0.00030475342033087606 50.74% 102.99% 2.03x
is_encodable[ufixed8x1-Decimal('1.2')] 0.0005935338537929125 0.0003045883604499977 48.68% 94.86% 1.95x
is_encodable[ufixed8x2-Decimal('1.20')] 0.0005973603528203103 0.0003051505160944906 48.92% 95.76% 1.96x
is_encodable[uint128-3402823669209384] 0.00009616116568104091 0.00006289021163404991 34.60% 52.90% 1.53x
is_encodable[uint16-65535] 0.00007629794088030547 0.0000600741541541195 21.26% 27.01% 1.27x
is_encodable[uint256-0] 0.00010365290586437566 0.00006206712301307977 40.12% 67.00% 1.67x
is_encodable[uint256-1157920892373161] 0.00010540772192599926 0.00006312827248927639 40.11% 66.97% 1.67x
is_encodable[uint256[2]-[0, 115792089237] 0.00024805734071629983 0.00016184793088977754 34.75% 53.27% 1.53x
is_encodable[uint256[2][2]-[[1, 2], [3, 4]]] 0.0005372153040503804 0.00035732624002547225 33.49% 50.34% 1.50x
is_encodable[uint32-4294967295] 0.0000825762020343507 0.00006487626489518472 21.43% 27.28% 1.27x
is_encodable[uint64-1844674407370955] 0.00009057243699180982 0.0000637869031805387 29.57% 41.99% 1.42x
is_encodable[uint8-0] 0.00007002911023481039 0.00005825994177078382 16.81% 20.20% 1.20x
is_encodable[uint8-255] 0.00007023531554257768 0.00005792679590038819 17.52% 21.25% 1.21x
is_encodable[uint8[]-[]0] 0.00008700470577927099 0.00008214087617220522 5.59% 5.92% 1.06x
is_encodable[uint8[]-[]1] 0.00008527068402140355 0.000082174942255789 3.63% 3.77% 1.04x
is_encodable[uint8[]-[1, 2, 3, 4, 5]] 0.0002820169762269842 0.00021892378951818744 22.37% 28.82% 1.29x
is_encodable[uint8[][]-[[]]] 0.00014025773925861276 0.00013205722288316116 5.85% 6.21% 1.06x
is_encodable[uint8[10]-[0, 1, 2, 3, 4, ] 0.0004815099054024197 0.0003567818141020115 25.90% 34.96% 1.35x
is_encodable[uint8[100]-[0, 1, 2, 3, 4, ] 0.003827184321669692 0.0025575030589700476 33.18% 49.65% 1.50x
is_encodable[uint8[2][]-[]] 0.00008637082440157611 0.00008264804853751824 4.31% 4.50% 1.05x
is_encodable[uint8[2][2][]-[]] 0.00008597691326186428 0.00008317354585214503 3.26% 3.37% 1.03x
is_encodable[uint8[3]-[1, 2, 3]] 0.00022069757771181969 0.00017847201837541314 19.13% 23.66% 1.24x

faster_eth_abi.decoding - view benchmarks

Function Reference Mean Faster Mean % Change Speedup (%) x Faster Faster
address_decoder[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00] 0.0016244246172235693 0.0003791978279979149 76.66% 328.38% 4.28x
address_decoder[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01] 0.0016199981174003194 0.00037671338444846713 76.75% 330.03% 4.30x
address_decoder[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02] 0.001625258297385501 0.0003798848250439349 76.63% 327.83% 4.28x
address_decoder[\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x00] 0.001609504500915396 0.00037900546837671016 76.45% 324.67% 4.25x
address_decoder[\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01] 0.0016382094651984154 0.0003783263167937603 76.91% 333.01% 4.33x
address_decoder[\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12] 0.0016190497158048583 0.00037842307532321275 76.63% 327.84% 4.28x
address_decoder[\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff] 0.0016405188930372803 0.00038443867377127957 76.57% 326.73% 4.27x
boolean_decoder[False] 0.000869770179817201 0.0002320522695050475 73.32% 274.82% 3.75x
boolean_decoder[True] 0.0008668695236033595 0.00023285380591787463 73.14% 272.28% 3.72x
bytes32_decoder[b''] 0.0008672347499930141 0.0002354255988851525 72.85% 268.37% 3.68x
bytes32_decoder[b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'] 0.0008642730018897592 0.00023668080260906186 72.62% 265.16% 3.65x
bytes32_decoder[b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'] 0.0008551306938824734 0.00023690168905732094 72.30% 260.96% 3.61x
bytes32_decoder[b'\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01'] 0.0008586620600537458 0.00023652040286951007 72.45% 263.04% 3.63x
bytes32_decoder[b'\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12\\x12'] 0.0008596787759702346 0.00023604846571586167 72.54% 264.20% 3.64x
bytes32_decoder[b'\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff'] 0.0008555511882910794 0.00023743250071632576 72.25% 260.33% 3.60x
bytes32_decoder[b'abcabcabcabcabcabcabcabcabcabcde'] 0.0008574005237936602 0.00023670715061457713 72.39% 262.22% 3.62x
string_decoder['a' * 256] 0.001375596377060827 0.0006209690204126968 54.86% 121.52% 2.22x
string_decoder['b' * 1024] 0.001411827630001832 0.000661183612333701 53.17% 113.53% 2.14x
string_decoder['c' * 4096] 0.0014496282279657215 0.0007036371021604553 51.46% 106.02% 2.06x
string_decoder['d' * 8192] 0.0015184428252532274 0.0007755471373001237 48.92% 95.79% 1.96x
string_decoder['e' * 16384] 0.001631150534334155 0.0008830906067334091 45.86% 84.71% 1.85x
string_decoder['f' * 32768] 0.0021091752656840516 0.0011570270121714333 45.14% 82.29% 1.82x
string_decoder['g' * 65536] 0.002411014106141932 0.0016390253593666934 32.02% 47.10% 1.47x
string_decoder[empty] 0.001351996792780827 0.0006205941337096641 54.10% 117.86% 2.18x
string_decoder[hello-world] 0.0013669866953646425 0.0006235798644338013 54.38% 119.22% 2.19x
string_decoder[newline] 0.0013803894294142083 0.000618098193898554 55.22% 123.33% 2.23x
string_decoder[null-byte] 0.001366152711951315 0.0006191571864422813 54.68% 120.65% 2.21x
string_decoder[unicode] 0.0013991057043907938 0.0006415604698313419 54.14% 118.08% 2.18x
string_decoder[very-long] 0.0029588395869335517 0.0021617287976080073 26.94% 36.87% 1.37x
tuple_decoder[addr-uint8] 0.0020530119402614763 0.0004909733868365837 76.09% 318.15% 4.18x
tuple_decoder[arrs] 0.0025462708720054555 0.0006666717048148347 73.82% 281.94% 3.82x
tuple_decoder[bytes-string] 0.0017494224309689682 0.0007140497446978011 59.18% 145.00% 2.45x
tuple_decoder[bytes32s-strings] 0.00353940700365991 0.0015016683649810743 57.57% 135.70% 2.36x
tuple_decoder[int-bool-string] 0.0023229189538631965 0.0008467756570911669 63.55% 174.33% 2.74x
tuple_decoder[int-bool] 0.0012712847824960024 0.00034646208361940374 72.75% 266.93% 3.67x
uint256_decoder[0] 0.00090703114820563 0.0002632017255162017 70.98% 244.61% 3.45x
uint256_decoder[1] 0.0009121428712227853 0.0002617475523841088 71.30% 248.48% 3.48x
uint256_decoder[115792089237316195423570985008687907853269984665640564039457584007913129639935] 0.0009157276886622559 0.00026555608834381714 71.00% 244.83% 3.45x
uint256_decoder[12345678901234567890] 0.0009133065898957252 0.0002639325381982562 71.10% 246.04% 3.46x
uint256_decoder[18446744073709551616] 0.0009082999475693394 0.0002652441877848752 70.80% 242.44% 3.42x
uint256_decoder[340282366920938463463374607431768211456] 0.0009158001277679439 0.0002648946859118883 71.08% 245.72% 3.46x
uint256_decoder[42] 0.0009052123525723488 0.00026231253514359047 71.02% 245.09% 3.45x
uint256_decoder[4294967296] 0.0009068139370303343 0.0002671727221347871 70.54% 239.41% 3.39x
uint256_decoder[57896044618658097711785492504343953926634992332820282019728792003956564819967] 0.0009103856726246776 0.0002651341357313554 70.88% 243.37% 3.43x
uint256_decoder[57896044618658097711785492504343953926634992332820282019728792003956564819968] 0.0009076081481990431 0.0002653059958900694 70.77% 242.10% 3.42x
uint256_decoder[65536] 0.0009076913600833397 0.000264557826102384 70.85% 243.10% 3.43x
uint256_decoder[999999999999999999999999999999] 0.0009054969851342472 0.00026320444300058853 70.93% 244.03% 3.44x

faster_eth_abi.encoding - view benchmarks

Function Reference Mean Faster Mean % Change Speedup (%) x Faster Faster
address_encoder[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00] 0.0011910541835395319 0.0002798549776743831 76.50% 325.60% 4.26x
address_encoder[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01] 0.0011956563984109418 0.0002791097056588089 76.66% 328.38% 4.28x
address_encoder[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02] 0.0011859938522871798 0.0002776097868188392 76.59% 327.22% 4.27x
address_encoder[\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x00] 0.0011741441158957075 0.0002786337498427374 76.27% 321.39% 4.21x
address_encoder[\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01] 0.0011893908874568522 0.00027864888883568555 76.57% 326.84% 4.27x
address_encoder[\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12] 0.0011936568626386376 0.00027883505567671824 76.64% 328.09% 4.28x
address_encoder[\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff] 0.0011817470448850379 0.0002822127992436948 76.12% 318.74% 4.19x
boolean_encoder[False] 0.0007114891664286571 0.00011689156193391294 83.57% 508.67% 6.09x
boolean_encoder[True] 0.000707742663197114 0.00011730812081226982 83.43% 503.32% 6.03x
bytes32_encoder[] 0.0007026344062385361 0.0001335584927916205 80.99% 426.09% 5.26x
bytes32_encoder[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00] 0.0006977441548366302 0.00013308905280998344 80.93% 424.27% 5.24x
bytes32_encoder[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00] 0.0006962425551395416 0.00013073661195969806 81.22% 432.55% 5.33x
bytes32_encoder[\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01] 0.0006963462533195644 0.00012928528381171705 81.43% 438.61% 5.39x
bytes32_encoder[\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12] 0.000696135886659781 0.00013013063450103017 81.31% 434.95% 5.35x
bytes32_encoder[\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff] 0.0007002975863968358 0.00012952445740975992 81.50% 440.67% 5.41x
bytes32_encoder[abcabcabcabcabcabcabcabcabcabcde] 0.0006939779549594093 0.00012974157555344413 81.30% 434.89% 5.35x
string_encoder['a' * 256] 0.0010853865781052638 0.0003099817355034343 71.44% 250.15% 3.50x
string_encoder['b' * 1024] 0.0011205659758417588 0.00035150708344562333 68.63% 218.79% 3.19x
string_encoder['c' * 4096] 0.0011456464210288014 0.00036322134217599 68.30% 215.41% 3.15x
string_encoder['d' * 8192] 0.0011742561936024195 0.0003952139394156576 66.34% 197.12% 2.97x
string_encoder['e' * 16384] 0.001240493037065916 0.0004620519751036364 62.75% 168.47% 2.68x
string_encoder['f' * 32768] 0.001424207708126368 0.0005828148404604239 59.08% 144.37% 2.44x
string_encoder['g' * 65536] 0.0018802533987675092 0.0011465127187674485 39.02% 64.00% 1.64x
string_encoder[empty] 0.0010753842136819985 0.0003050234654184506 71.64% 252.56% 3.53x
string_encoder[hello-world] 0.0010822094473418658 0.0003107555874013435 71.29% 248.25% 3.48x
string_encoder[newline] 0.001089646124974109 0.0003114151525558721 71.42% 249.90% 3.50x
string_encoder[null-byte] 0.0010935183699891157 0.00030791965809576357 71.84% 255.13% 3.55x
string_encoder[unicode] 0.0011105482449965 0.000315327961307999 71.61% 252.19% 3.52x
string_encoder[very-long] 0.0021090392754019747 0.0011943747840988512 43.37% 76.58% 1.77x
tuple_encoder[addr-uint8] 0.0014923180248912478 0.0004288210088413794 71.26% 248.00% 3.48x
tuple_encoder[arrs] 0.0021016056452519785 0.0007776311360261027 63.00% 170.26% 2.70x
tuple_encoder[bytes-string] 0.0012773585782906208 0.0004337661308865438 66.04% 194.48% 2.94x
tuple_encoder[bytes32s-strings] 0.002853907948448261 0.0010196862969467982 64.27% 179.88% 2.80x
tuple_encoder[int-bool-string] 0.001798447674299569 0.0006160408007977448 65.75% 191.94% 2.92x
tuple_encoder[int-bool] 0.0010154262841563606 0.00026108401046946115 74.29% 288.93% 3.89x
uint256_encoder[0] 0.00084173576357248 0.0001782176222385405 78.83% 372.31% 4.72x
uint256_encoder[1] 0.0008542299369445253 0.0001780518559949256 79.16% 379.76% 4.80x
uint256_encoder[115792089237316195423570985008687907853269984665640564039457584007913129639935] 0.0008478204246685356 0.00018273602762497847 78.45% 363.96% 4.64x
uint256_encoder[12345678901234567890] 0.0008366096246831476 0.00018326138615033612 78.09% 356.51% 4.57x
uint256_encoder[18446744073709551616] 0.0008458674091422616 0.00018247460502330683 78.43% 363.55% 4.64x
uint256_encoder[340282366920938463463374607431768211456] 0.0008460745358323977 0.00018228184273066792 78.46% 364.16% 4.64x
uint256_encoder[42] 0.0008463886763803072 0.0001777513037124002 79.00% 376.16% 4.76x
uint256_encoder[4294967296] 0.0008387300427823703 0.0001885012347655163 77.53% 344.95% 4.45x
uint256_encoder[57896044618658097711785492504343953926634992332820282019728792003956564819967] 0.0008392280715367938 0.00018119265270652907 78.41% 363.17% 4.63x
uint256_encoder[57896044618658097711785492504343953926634992332820282019728792003956564819968] 0.0008514803748479454 0.00018205481343402325 78.62% 367.71% 4.68x
uint256_encoder[65536] 0.000836522692795618 0.0001864917899772302 77.71% 348.56% 4.49x
uint256_encoder[999999999999999999999999999999] 0.0008387712078215175 0.0001820878005045543 78.29% 360.64% 4.61x

faster_eth_abi.grammar - view benchmarks

Function Reference Mean Faster Mean % Change Speedup (%) x Faster Faster
normalize[((uint8,uint8),uint8)] 0.004686027912402629 0.004023284081587026 14.14% 16.47% 1.16x
normalize[((uint8[2],(string,bool)),bytes32)] 0.005811671598790823 0.005240414729162997 9.83% 10.90% 1.11x
normalize[(address,uint8)] 0.003564687698873127 0.002936831086057935 17.61% 21.38% 1.21x
normalize[(string,bytes)] 0.0034351889241939905 0.002828329196643281 17.67% 21.46% 1.21x
normalize[(uint256,bool)] 0.0035390997447058187 0.0029564992106715336 16.46% 19.71% 1.20x
normalize[(uint256[],(string[],bool))] 0.005002635925377569 0.004416653547012362 11.71% 13.27% 1.13x
normalize[(uint256[2],string)] 0.004122939273160028 0.003541660861706174 14.10% 16.41% 1.16x
normalize[(uint8,(bool,string))] 0.004319955689660328 0.003732280505526392 13.60% 15.75% 1.16x
normalize[(uint8[2],(string,bool[2]))] 0.005302677994651185 0.004667671004717021 11.98% 13.60% 1.14x
normalize[(uint8[2][2],(string[2],bool[2]))] 0.006312188937511109 0.005711081101715967 9.52% 10.53% 1.11x
normalize[address] 0.002696456192913264 0.0019509268125226242 27.65% 38.21% 1.38x
normalize[bool] 0.0025136416372943155 0.0018271293303084991 27.31% 37.57% 1.38x
normalize[bytes] 0.002540995498773807 0.0019333226898705232 23.91% 31.43% 1.31x
normalize[bytes32] 0.0028067507421299463 0.0021019113859736863 25.11% 33.53% 1.34x
normalize[fixed128x18] 0.0030280702576143967 0.0024158917100777512 20.22% 25.34% 1.25x
normalize[int8] 0.002637678481491132 0.0018906926042035529 28.32% 39.51% 1.40x
normalize[string[]] 0.002748049859138506 0.002154931637543527 21.58% 27.52% 1.28x
normalize[string] 0.0026345327883039813 0.0018986916442337624 27.93% 38.76% 1.39x
normalize[ufixed128x18] 0.0031182860872557123 0.0024997044093871133 19.84% 24.75% 1.25x
normalize[uint256[2]] 0.003271888778795899 0.002623221394127608 19.83% 24.73% 1.25x
normalize[uint256] 0.0028804813372474646 0.002126313040729543 26.18% 35.47% 1.35x
normalize[uint8[]] 0.002865439738257812 0.0022665958231321086 20.90% 26.42% 1.26x
parse[((uint8,uint8),uint8)] 0.0004975715022670115 0.0004965102590684644 0.21% 0.21% 1.00x
parse[((uint8[2],(string,bool)),bytes32)] 0.0005040408546925487 0.0004791565570555305 4.94% 5.19% 1.05x
parse[(address,uint8)] 0.0004671435201977625 0.00046907884737664547 -0.41% -0.41% 1.00x
parse[(string,bytes)] 0.000467467197729379 0.0004719113793792332 -0.95% -0.94% 0.99x
parse[(uint256,bool)] 0.00047368385154302357 0.0005059006146315593 -6.80% -6.37% 0.94x
parse[(uint256[],(string[],bool))] 0.0004476325453261498 0.0004451142747339396 0.56% 0.57% 1.01x
parse[(uint256[2],string)] 0.00044640279127526123 0.00044789451232997776 -0.33% -0.33% 1.00x
parse[(uint8,(bool,string))] 0.0004772585355451752 0.0004747305214670341 0.53% 0.53% 1.01x
parse[(uint8[2],(string,bool[2]))] 0.0004467343051522353 0.00044751031615151667 -0.17% -0.17% 1.00x
parse[(uint8[2][2],(string[2],bool[2]))] 0.0004962723382937042 0.0004939716671563994 0.46% 0.47% 1.00x
parse[address] 0.0004350998572633476 0.0004395210566490294 -1.02% -1.01% 0.99x
parse[bool] 0.0004389888083756506 0.0004360814810508334 0.66% 0.67% 1.01x
parse[bytes] 0.0004392077645922901 0.00044145684003052106 -0.51% -0.51% 0.99x
parse[bytes32] 0.00044626702795843204 0.00044986716582049525 -0.81% -0.80% 0.99x
parse[fixed128x18] 0.00044498458734610984 0.0004484552324464025 -0.78% -0.77% 0.99x
parse[int8] 0.0004365304227070036 0.0004341861507771238 0.54% 0.54% 1.01x
parse[string[]] 0.0004466319371240439 0.0004504941338512984 -0.86% -0.86% 0.99x
parse[string] 0.0004391460134627983 0.00043951616210652236 -0.08% -0.08% 1.00x
parse[ufixed128x18] 0.00047180830374330595 0.00047983470589386436 -1.70% -1.67% 0.98x
parse[uint256[2]] 0.0004711160090543714 0.0004785667467082223 -1.58% -1.56% 0.98x
parse[uint256] 0.00045593314994267405 0.0004383507606323579 3.86% 4.01% 1.04x
parse[uint8[]] 0.00044841525923025946 0.00045035535414745886 -0.43% -0.43% 1.00x

faster_eth_abi.io - view benchmarks

Function Reference Mean Faster Mean % Change Speedup (%) x Faster Faster
contextframesbytesio_init[0] 0.000706658876375634 0.0006381193848648463 9.70% 10.74% 1.11x
contextframesbytesio_init[1024] 0.0007080674826157423 0.0006319676679377894 10.75% 12.04% 1.12x
contextframesbytesio_init[32] 0.000707572978694012 0.0006305579154564065 10.88% 12.21% 1.12x
contextframesbytesio_init[4096] 0.0007141671290586077 0.0006291483308413556 11.90% 13.51% 1.14x
contextframesbytesio_init[65536] 0.0007056119775969989 0.000635374119703844 9.95% 11.05% 1.11x
contextframesbytesio_push_pop[1] 0.00012408633145209088 0.00011492440013107179 7.38% 7.97% 1.08x
contextframesbytesio_push_pop[10] 0.000993914028488992 0.000989036290387808 0.49% 0.49% 1.00x
contextframesbytesio_push_pop[5] 0.0005006209417144599 0.00047998447449600307 4.12% 4.30% 1.04x
contextframesbytesio_push_pop[50] 0.005096405287193379 0.0050441616514504085 1.03% 1.04% 1.01x
contextframesbytesio_seek_in_frame[1] 0.00005592764680428456 0.00005578863941917143 0.25% 0.25% 1.00x
contextframesbytesio_seek_in_frame[10] 0.00044150701128289584 0.0004392585890418591 0.51% 0.51% 1.01x
contextframesbytesio_seek_in_frame[5] 0.00020396380052154455 0.00020443370806331088 -0.23% -0.23% 1.00x
contextframesbytesio_seek_in_frame[50] 0.0020921488224055133 0.0021037734630180477 -0.56% -0.55% 0.99x

faster_eth_abi.packed - view benchmarks

Function Reference Mean Faster Mean % Change Speedup (%) x Faster Faster
encode_packed[address] 0.0011833380973524375 0.0002782770172810945 76.48% 325.24% 4.25x
encode_packed[bool] 0.0007126745107663477 0.00011296562707309962 84.15% 530.88% 6.31x
encode_packed[bytes] 0.0006472012207132707 0.00010042357092045182 84.48% 544.47% 6.44x
encode_packed[string] 0.0006913751944917919 0.00012935890327229061 81.29% 434.46% 5.34x
encode_packed[tuple] 0.0016489719304238763 0.0003775425300122714 77.10% 336.76% 4.37x
encode_packed[uint256] 0.0008446740555868868 0.0001877871259679099 77.77% 349.80% 4.50x
is_encodable_packed[address] 0.00006406250605810746 0.000038915649843635096 39.25% 64.62% 1.65x
is_encodable_packed[bool] 0.000044438032633564407 0.00003355572273682201 24.49% 32.43% 1.32x
is_encodable_packed[bytes] 0.000045231770176202634 0.00003848573079895272 14.91% 17.53% 1.18x
is_encodable_packed[string] 0.000045435186980064456 0.00003254333948306473 28.37% 39.61% 1.40x
is_encodable_packed[tuple] 0.00025625190584024595 0.0001049529853685488 59.04% 144.16% 2.44x
is_encodable_packed[uint256] 0.0001024097427576971 0.0000621494058603844 39.31% 64.78% 1.65x

faster_eth_abi.registry - view benchmarks

Function Reference Mean Faster Mean % Change Speedup (%) x Faster Faster
get_decoder[((uint8,uint8),uint8)] 0.004141780149348428 0.004187934316465958 -1.11% -1.10% 0.99x
get_decoder[((uint8[2],(string,bool)),bytes32)] 0.0041291108325295514 0.004167659983175006 -0.93% -0.92% 0.99x
get_decoder[(address,uint8)] 0.004317017930651913 0.004150251340334541 3.86% 4.02% 1.04x
get_decoder[(string,bytes)] 0.004259393474230506 0.004243082863328704 0.38% 0.38% 1.00x
get_decoder[(uint256,bool)] 0.0041157516229088555 0.0042287207607709845 -2.74% -2.67% 0.97x
get_decoder[(uint256[],(string[],bool))] 0.004143940232414523 0.004177413799176012 -0.81% -0.80% 0.99x
get_decoder[(uint256[2],string)] 0.004114795120843459 0.004179410680556267 -1.57% -1.55% 0.98x
get_decoder[(uint8,(bool,string))] 0.0041924331653101065 0.004466879986629075 -6.55% -6.14% 0.94x
get_decoder[(uint8[2],(string,bool[2]))] 0.00414940240252728 0.0042123203305567646 -1.52% -1.49% 0.99x
get_decoder[(uint8[2][2],(string[2],bool[2]))] 0.005183317219839338 0.005177439766522198 0.11% 0.11% 1.00x
get_decoder[address] 0.005155336215335783 0.005152174590757992 0.06% 0.06% 1.00x
get_decoder[bool] 0.005184186234401977 0.00513826550519525 0.89% 0.89% 1.01x
get_decoder[bytes] 0.00510343617339013 0.005142779995003366 -0.77% -0.77% 0.99x
get_decoder[bytes32] 0.005240735974062311 0.005182450569833905 1.11% 1.12% 1.01x
get_decoder[fixed128x18] 0.004075827528473249 0.004137471691317415 -1.51% -1.49% 0.99x
get_decoder[int8] 0.004469022655442842 0.004440109625551734 0.65% 0.65% 1.01x
get_decoder[string[]] 0.005192832805149896 0.005184561968668676 0.16% 0.16% 1.00x
get_decoder[string] 0.005156368615345668 0.005178361958418994 -0.43% -0.42% 1.00x
get_decoder[ufixed128x18] 0.004288929485308046 0.004145967743794199 3.33% 3.45% 1.03x
get_decoder[uint256[2]] 0.0051447543368047955 0.005292179393481852 -2.87% -2.79% 0.97x
get_decoder[uint256] 0.005149603769230173 0.005147955422247227 0.03% 0.03% 1.00x
get_decoder[uint8[]] 0.005152132276895991 0.0051818898905556425 -0.58% -0.57% 0.99x
get_encoder[((uint8,uint8),uint8)] 0.004993880869468324 0.00500335804540417 -0.19% -0.19% 1.00x
get_encoder[((uint8[2],(string,bool)),bytes32)] 0.00479232666663632 0.004812362882991537 -0.42% -0.42% 1.00x
get_encoder[(address,uint8)] 0.004782928690509012 0.004753340661851065 0.62% 0.62% 1.01x
get_encoder[(string,bytes)] 0.004698750275642044 0.004817523121883136 -2.53% -2.47% 0.98x
get_encoder[(uint256,bool)] 0.0048012359459032716 0.004844718712891984 -0.91% -0.90% 0.99x
get_encoder[(uint256[],(string[],bool))] 0.0047975621047693755 0.004579060022929673 4.55% 4.77% 1.05x
get_encoder[(uint256[2],string)] 0.004519790194502821 0.004544412591754619 -0.54% -0.54% 0.99x
get_encoder[(uint8,(bool,string))] 0.00482836372459906 0.00483117029950999 -0.06% -0.06% 1.00x
get_encoder[(uint8[2],(string,bool[2]))] 0.004526129203655086 0.004548405902765067 -0.49% -0.49% 1.00x
get_encoder[(uint8[2][2],(string[2],bool[2]))] 0.005048688854232074 0.004939950116740736 2.15% 2.20% 1.02x
get_encoder[address] 0.004489973448475652 0.004356809025992263 2.97% 3.06% 1.03x
get_encoder[bool] 0.004424042779742856 0.004396078082987419 0.63% 0.64% 1.01x
get_encoder[bytes] 0.004398726060935587 0.004434614535330989 -0.82% -0.81% 0.99x
get_encoder[bytes32] 0.0045826956435896 0.004493697905435273 1.94% 1.98% 1.02x
get_encoder[fixed128x18] 0.004482189807368666 0.004588970939822603 -2.38% -2.33% 0.98x
get_encoder[int8] 0.004447090564499376 0.004338326279548511 2.45% 2.51% 1.03x
get_encoder[string[]] 0.004572581136972283 0.004523631626086769 1.07% 1.08% 1.01x
get_encoder[string] 0.00439238279020466 0.004328649658048629 1.45% 1.47% 1.01x
get_encoder[ufixed128x18] 0.004664847990482356 0.004785105865284305 -2.58% -2.51% 0.97x
get_encoder[uint256[2]] 0.004848997415867398 0.004823591567322602 0.52% 0.53% 1.01x
get_encoder[uint256] 0.0044080543828812066 0.004343791317208419 1.46% 1.48% 1.01x
get_encoder[uint8[]] 0.004579735188403678 0.004565642101894169 0.31% 0.31% 1.00x

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants