Skip to content

Conversation

@BobTheBuidler
Copy link
Owner

No description provided.

pacrob and others added 30 commits May 3, 2023 14:20
change references to doc to all be docs
* fix: string decoding errors replace

fix: use surrogateescape

chore: lint

* update StringDecoder to allow user-defined error handler, adjust tests
and add example usage to docs

---------

Co-authored-by: pacrob <[email protected]>
Pre-release check for upstream configuration of remote
- Zero-sized tuple types are not supported by Solidity. We should reflect that in this library.
- Add tests for this and properly set up reversibility tests to test for minimum_size=1 for tuple encoding / decoding tests.
- Keep param validation for ``encode()`` and ``decode()`` where they are but the type string validation didn't make a whole lot of sense there. There's a grammar.parse that takes place trying to identify type strings and we give a very general error message when they can't be parsed. Adding some logic here when we know what the parse error is seems like a better, more central spot to take care of better messaging around these types of errors.
- Along the way, add a bit more generalized logic around ``is_encodable_type()`` and ``is_encodable()``. We don't need to sift through different error types when we are looking for a ``bool`` answer. These methods ideally shouldn't throw any errors and adding exception classes to it is just a chore. Catch any exception and return ``False``, otherwise, when there are no errors, return ``True``. The exception to this is when multiple entries are found, that seems like a good case to throw.
- Don't check anything beyond the data size for non-empty padding bytes with strict=False. This is the behavior in Solidity as well.
- f-strings instead of .format()
add `.venv*` to .gitignore
* Remove pkg_resources

* Newsfragment

---------

Co-authored-by: Stuart Reed <[email protected]>
github-actions bot and others added 22 commits September 19, 2025 18:00
* feat: compile exceptions.py

* chore: compile C files for source control

* Delete build directory

* chore: compile C files for source control

* Update codspeed.yaml

* Update pytest-benchmarks.yaml

* chore: compile C files for source control

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* feat: microoptimize encoding `tail_offsets`

* chore: compile C files for source control

* Update _encoding.py

* chore: compile C files for source control

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* feat: microoptimize utils/numeric

* chore: compile C files for source control

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* feat: cache utils/numeric.py function results

* chore: compile C files for source control

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Revert "feat: compile exceptions.py (#60)"

* chore: compile C files for source control

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix: bug in numeric.py optimizations

* chore: compile C files for source control

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix: clear tuple en/de coder cache when (de)registering

* chore: compile C files for source control

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* feat: reduce repetitive validation of type args

* chore: compile C files for source control

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* feat(cicd): normalize C files for diffchecking

* chore: compile C files for source control

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* feat(test): split up tox jobs to multiple runners

* Update tox.ini

* 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 8, 2025

CodSpeed Performance Report

Merging #80 will degrade performances by 4.76%

Comparing BobTheBuidler-patch-7 (d3dd9fa) with master (a7d5fac)1

Summary

❌ 4 regressions
✅ 830 untouched

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

Benchmarks breakdown

Benchmark BASE HEAD Change
test_faster_encode[bool-False] 1.2 ms 1.2 ms -4.73%
test_faster_encode[bool-True] 1.2 ms 1.2 ms -4.76%
test_faster_boolean_encoder[False] 1.2 ms 1.3 ms -4.64%
test_faster_boolean_encoder[True] 1.2 ms 1.3 ms -4.56%

Footnotes

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

@github-actions
Copy link

github-actions bot commented Oct 8, 2025

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.0044292695760459995 0.0028935034441079973 34.67% 53.08% 1.53x
decode[((uint8[2],(string,bool)),bytes32)-(([1, 2], ('hi',] 0.004798997148498637 0.002873148086152399 40.13% 67.03% 1.67x
decode[((uint8[2][2],(string[2],bool[2])),bytes32[2])-(([[1, 2], [3, 4] 0.008484905104351919 0.0051697979625741405 39.07% 64.12% 1.64x
decode[(address,uint8)-(b'\\x00\\x00\\x00\\] 0.003897605576758638 0.0018808203790262996 51.74% 107.23% 2.07x
decode[(bytes[],string[])-([], [])] 0.0028649717195134332 0.00161108704210683 43.77% 77.83% 1.78x
decode[(bytes1,bytes2,bytes3,bytes4)-(b'\\x01', b'\\x01] 0.0028280011798815894 0.001788001396477945 36.78% 58.17% 1.58x
decode[(bytes32[],string[])-([b'\\x00\\x00\\x00] 0.0045566231609826926 0.002776725158814235 39.06% 64.10% 1.64x
decode[(fixed32x2,uint8)-(Decimal('3.14')] 0.0034623210882233145 0.0026089857917886298 24.65% 32.71% 1.33x
decode[(function,uint256)-(b'\\x01\\x01\\x01\\] 0.0021422297054782802 0.0012488891538479352 41.70% 71.53% 1.72x
decode[(string,bytes)-('foo', b'bar')] 0.0025716606321547772 0.001551850337796092 39.66% 65.72% 1.66x
decode[(string[],bytes[])-([''], [b''])] 0.004123285744586626 0.0025889644037942333 37.21% 59.26% 1.59x
decode[(string[],bytes[])-([], [])] 0.002826986572690981 0.0016033413316906124 43.28% 76.32% 1.76x
decode[(uint256,bool)-(42, True)] 0.002159662500001866 0.0012281034700424864 43.13% 75.85% 1.76x
decode[(uint256[],(string[],bool))-([1, 2, 3], (['a] 0.005735489335327787 0.003555245217397817 38.01% 61.32% 1.61x
decode[(uint256[2],string)-([1, 2], 'baz')] 0.002781964162722647 0.001634352479926474 41.25% 70.22% 1.70x
decode[(uint8,(bool,string))-(7, (False, 'hi'] 0.003219819986114203 0.001865958042337697 42.05% 72.56% 1.73x
decode[(uint8[],string)-([], '')] 0.002705473140804707 0.0015545380167825275 42.54% 74.04% 1.74x
decode[(uint8[][],string)-([[]], '')] 0.003517652583335954 0.0020897588662154953 40.59% 68.33% 1.68x
decode[(uint8[2],(string,bool[2]))-([1, 2], ('x', [] 0.004475021454545074 0.002620124454033126 41.45% 70.79% 1.71x
decode[(uint8[2][],string[])-([], [])] 0.002833885135549757 0.001591818165799936 43.83% 78.03% 1.78x
decode[(uint8[2][2],(string[2],bool[2]))-([[1, 2], [3, 4]] 0.006847996099276128 0.004181435375540671 38.94% 63.77% 1.64x
decode[(uint8[2][2][],string[])-([], [])] 0.0028622383921011233 0.0015927605744681908 44.35% 79.70% 1.80x
decode[(uint8[2][2][2],string)-([[[1, 2], [3, 4] 0.00583302409090169 0.003586696375936969 38.51% 62.63% 1.63x
decode[(uint8[2][2][2][2],string[2])-([[[[1, 2], [3, ] 0.010881118955053302 0.006930143035459239 36.31% 57.01% 1.57x
decode[(uint8[2][2][2][2][],string[])-([], [])] 0.0028491105909076646 0.001594350845358299 44.04% 78.70% 1.79x
decode[(uint8[2][2][2][2][2],string[2][2])-([[[[[1, 2], [3,] 0.02169649766669579 0.013709591684919484 36.81% 58.26% 1.58x
decode[(uint8[3],(string[2],bool[2]))-([1, 2, 3], (['a] 0.006030888737502948 0.0036365014999995933 39.70% 65.84% 1.66x
decode[address-b'\\x00\\x00\\x00\\x] 0.001651086361010586 0.0006917487656602727 58.10% 138.68% 2.39x
decode[address-b'\\xff\\xff\\xff\\x] 0.0016518395088046675 0.0007022230145258362 57.49% 135.23% 2.35x
decode[address[2]-[b'\\x00\\x00\\x00\\] 0.002920056351099148 0.0012908784345175997 55.79% 126.21% 2.26x
decode[bool-False] 0.0008631877294750914 0.00039113007338286327 54.69% 120.69% 2.21x
decode[bool-True] 0.0008722025945933472 0.00040498933740954314 53.57% 115.36% 2.15x
decode[bool[][2]-[[True, False], ] 0.0034479532815913324 0.001972683464274525 42.79% 74.78% 1.75x
decode[bool[4]-[True, False, Tr] 0.001708405015419105 0.0009506524680420008 44.35% 79.71% 1.80x
decode[bytes-b''] 0.0013737429135207632 0.0007019936145489466 48.90% 95.69% 1.96x
decode[bytes-b'\\x00\\x00\\x00\\x0] 0.0013940239824334526 0.0007071535645142318 49.27% 97.13% 1.97x
decode[bytes-b'\\x00\\x00\\x00\\x1] 0.0014232527434699417 0.0007381228164226047 48.14% 92.82% 1.93x
decode[bytes-b'aaaaaaaaaaaaaa] 0.001393019811489875 0.0007123677356336059 48.86% 95.55% 1.96x
decode[bytes-b'hello world'] 0.0013987318072278172 0.0007114780690739049 49.13% 96.60% 1.97x
decode[bytes[]-[]0] 0.001510525066126892 0.0007447071695179936 50.70% 102.83% 2.03x
decode[bytes[]-[]1] 0.0015319648652574007 0.0007372274505493464 51.88% 107.80% 2.08x
decode[bytes[]-[b'abc', b'def',] 0.0034084874767002045 0.0022034838840564383 35.35% 54.69% 1.55x
decode[bytes[10]-[b'\\x00\\x00\\x00\\] 0.007395266007516764 0.005310370791213935 28.19% 39.26% 1.39x
decode[bytes[100]-[b'\\x00\\x00\\x00\\] 0.05964467323529147 0.045180418260878985 24.25% 32.01% 1.32x
decode[bytes1-b'\\x01'] 0.000868686790787129 0.00040490794240098833 53.39% 114.54% 2.15x
decode[bytes10-b'\\x01\\x01\\x01\\x] 0.0008718543505770341 0.0004016750495272287 53.93% 117.05% 2.17x
decode[bytes11-b'\\x01\\x01\\x01\\x] 0.0008770435704934815 0.0004094117794489587 53.32% 114.22% 2.14x
decode[bytes12-b'\\x01\\x01\\x01\\x] 0.0008746242853030409 0.0004076115499539577 53.40% 114.57% 2.15x
decode[bytes13-b'\\x01\\x01\\x01\\x] 0.0008752949484984391 0.0004020195396223021 54.07% 117.72% 2.18x
decode[bytes14-b'\\x01\\x01\\x01\\x] 0.0008740517497541425 0.0004004859970580811 54.18% 118.25% 2.18x
decode[bytes15-b'\\x01\\x01\\x01\\x] 0.0008793056116513698 0.00040149798232638696 54.34% 119.01% 2.19x
decode[bytes16-b'\\x01\\x01\\x01\\x] 0.0008774961521550775 0.000404340510948694 53.92% 117.02% 2.17x
decode[bytes16[3]-[b'\\x01\\x01\\x01\\] 0.0015466545093399664 0.0008407476768613412 45.64% 83.96% 1.84x
decode[bytes17-b'\\x01\\x01\\x01\\x] 0.0008807357281602449 0.000400812143936144 54.49% 119.74% 2.20x
decode[bytes18-b'\\x01\\x01\\x01\\x] 0.0008780632348415521 0.0004004912582169112 54.39% 119.25% 2.19x
decode[bytes19-b'\\x01\\x01\\x01\\x] 0.0008780121218813767 0.0004090906525382802 53.41% 114.63% 2.15x
decode[bytes2-b'\\x01\\x01'] 0.000881193756049866 0.000404478838235638 54.10% 117.86% 2.18x
decode[bytes20-b'\\x01\\x01\\x01\\x] 0.0008737695880599698 0.00040645771167705506 53.48% 114.97% 2.15x
decode[bytes21-b'\\x01\\x01\\x01\\x] 0.0008728437422468049 0.00040116318185543686 54.04% 117.58% 2.18x
decode[bytes22-b'\\x01\\x01\\x01\\x] 0.0008805664371966391 0.00040066123266622333 54.50% 119.78% 2.20x
decode[bytes23-b'\\x01\\x01\\x01\\x] 0.0008837985753446246 0.00040654335349352545 54.00% 117.39% 2.17x
decode[bytes24-b'\\x01\\x01\\x01\\x] 0.0008876512866616794 0.00040192409681007505 54.72% 120.85% 2.21x
decode[bytes25-b'\\x01\\x01\\x01\\x] 0.0008765692461676415 0.0004061635748324229 53.66% 115.82% 2.16x
decode[bytes26-b'\\x01\\x01\\x01\\x] 0.0008752813141213564 0.00040835115311548627 53.35% 114.35% 2.14x
decode[bytes27-b'\\x01\\x01\\x01\\x] 0.0008818034176342753 0.0004046799431948958 54.11% 117.90% 2.18x
decode[bytes28-b'\\x01\\x01\\x01\\x] 0.0008794534524275115 0.00040353103206419434 54.12% 117.94% 2.18x
decode[bytes29-b'\\x01\\x01\\x01\\x] 0.0008706780763290498 0.00040947570498422905 52.97% 112.63% 2.13x
decode[bytes3-b'\\x01\\x01\\x01'] 0.0008841015992235912 0.0004009444946363945 54.65% 120.50% 2.21x
decode[bytes30-b'\\x01\\x01\\x01\\x] 0.0008710933545868269 0.0004019519013781229 53.86% 116.72% 2.17x
decode[bytes31-b'\\x01\\x01\\x01\\x] 0.0008661247237688382 0.0003873177866527807 55.28% 123.62% 2.24x
decode[bytes32-b'\\x01\\x01\\x01\\x] 0.0008553163454707302 0.00040115652869618596 53.10% 113.21% 2.13x
decode[bytes32[2]-[b'\\x00\\x00\\x00\\] 0.0013133228726154456 0.000687621222045902 47.64% 91.00% 1.91x
decode[bytes4-b'\\x01\\x01\\x01\\x] 0.0008879509629263694 0.00040231358832086203 54.69% 120.71% 2.21x
decode[bytes5-b'\\x01\\x01\\x01\\x] 0.0008830484096145815 0.00040256053705487496 54.41% 119.36% 2.19x
decode[bytes6-b'\\x01\\x01\\x01\\x] 0.0008834258533690306 0.00040197741153065735 54.50% 119.77% 2.20x
decode[bytes7-b'\\x01\\x01\\x01\\x] 0.0008858121596141735 0.00040370651217835305 54.43% 119.42% 2.19x
decode[bytes8-b'\\x01\\x01\\x01\\x] 0.000878070247579529 0.0004033362074642884 54.07% 117.70% 2.18x
decode[bytes8[4]-[b'\\x01\\x01\\x01\\] 0.001725803067542139 0.0009706996403944972 43.75% 77.79% 1.78x
decode[bytes9-b'\\x01\\x01\\x01\\x] 0.0008718482231518609 0.0003995360464042487 54.17% 118.22% 2.18x
decode[fixed128x1-Decimal('1.2')] 0.00156614185445236 0.0010823413082423096 30.89% 44.70% 1.45x
decode[fixed128x10-Decimal('1.20000] 0.001587742004659475 0.001133068889304877 28.64% 40.13% 1.40x
decode[fixed128x18-Decimal('1.20000] 0.0015767436344884212 0.0011286558121180667 28.42% 39.70% 1.40x
decode[fixed128x2-Decimal('1.20')] 0.0015633834313358024 0.001097489418201007 29.80% 42.45% 1.42x
decode[fixed16x1-Decimal('1.2')] 0.0014979537825318648 0.0010350162860400644 30.90% 44.73% 1.45x
decode[fixed16x2-Decimal('1.20')] 0.0015155870345403262 0.0010389636816030205 31.45% 45.87% 1.46x
decode[fixed256x1-Decimal('1.2')] 0.001569080986142073 0.0011040573679686205 29.64% 42.12% 1.42x
decode[fixed256x10-Decimal('1.20000] 0.0016137142854687097 0.0011466056202064877 28.95% 40.74% 1.41x
decode[fixed256x18-Decimal('1.20000] 0.001599900265977817 0.001130504622136482 29.34% 41.52% 1.42x
decode[fixed256x2-Decimal('1.20')] 0.0015861498118509424 0.0011084916386185698 30.11% 43.09% 1.43x
decode[fixed32x1-Decimal('1.2')] 0.001536796473690286 0.0010578012511839234 31.17% 45.28% 1.45x
decode[fixed32x2-Decimal('1.20')] 0.001527837109997563 0.0010613384723552161 30.53% 43.95% 1.44x
decode[fixed32x2[]-[]0] 0.0015032973536150962 0.0007255551441314148 51.74% 107.19% 2.07x
decode[fixed32x2[]-[]1] 0.001514192199044664 0.0007223389945620539 52.30% 109.62% 2.10x
decode[fixed32x2[2]-[Decimal('3.14')] 0.00261894826271125 0.001980581767752825 24.37% 32.23% 1.32x
decode[fixed64x1-Decimal('1.2')] 0.0015363020949180127 0.0010750741275579632 30.02% 42.90% 1.43x
decode[fixed64x10-Decimal('1.20000] 0.0015733822591285033 0.001103082475187943 29.89% 42.64% 1.43x
decode[fixed64x18-Decimal('1.20000] 0.0015743451105422258 0.0011056686799463973 29.77% 42.39% 1.42x
decode[fixed64x2-Decimal('1.20')] 0.0015363849267100744 0.001075593502409573 29.99% 42.84% 1.43x
decode[fixed8x1-Decimal('1.2')] 0.0014898787607238108 0.0010052020068769968 32.53% 48.22% 1.48x
decode[fixed8x2-Decimal('1.20')] 0.0014903250500039225 0.0010166229566739493 31.79% 46.60% 1.47x
decode[function-b'\\x00\\x00\\x00\\x] 0.0008678685013865148 0.000404052917021671 53.44% 114.79% 2.15x
decode[function-b'\\x01\\x01\\x01\\x] 0.0008717903297265169 0.0004094560106435274 53.03% 112.91% 2.13x
decode[function-b'\\xff\\xff\\xff\\x] 0.0008623347006458152 0.00040682768326803846 52.82% 111.97% 2.12x
decode[int128--170141183460469] 0.0010828706519643285 0.0006195205429584105 42.79% 74.79% 1.75x
decode[int128-1701411834604692] 0.0010371468676916478 0.0005780675708073041 44.26% 79.42% 1.79x
decode[int16--32768] 0.0010025305984561741 0.0005207693733637501 48.05% 92.51% 1.93x
decode[int16-32767] 0.0009662021422583018 0.0005042094460000296 47.82% 91.63% 1.92x
decode[int256--578960446186580] 0.0011174264235423216 0.0006513471375174919 41.71% 71.56% 1.72x
decode[int256-5789604461865809] 0.0010481103229376195 0.0005969697529642166 43.04% 75.57% 1.76x
decode[int32--2147483648] 0.0010287344306512522 0.0005622594193534446 45.34% 82.96% 1.83x
decode[int32-2147483647] 0.000992613586093158 0.0005407862303129054 45.52% 83.55% 1.84x
decode[int64--922337203685477] 0.0010540610290389661 0.0005867788142453774 44.33% 79.64% 1.80x
decode[int64-9223372036854775] 0.0010223295380390788 0.0005604285810679215 45.18% 82.42% 1.82x
decode[int8--128] 0.0009727042879469191 0.0004974309595959342 48.86% 95.55% 1.96x
decode[int8-127] 0.0009480240481588557 0.0004788548363910151 49.49% 97.98% 1.98x
decode[string-''] 0.0013584015201256 0.0006834071083027055 49.69% 98.77% 1.99x
decode[string-'\U0001d518\U0001d52b\U0001d526\U0001d520\U0001d52c\U0001d521\U0001d522'] 0.0013893503629639815 0.0007220787414127385 48.03% 92.41% 1.92x
decode[string-'aaaaaaaaaaaaaaa0] 0.0013716187503643182 0.0007031892658137923 48.73% 95.06% 1.95x
decode[string-'aaaaaaaaaaaaaaa1] 0.0014124516158260287 0.0007368768965232951 47.83% 91.68% 1.92x
decode[string-'bbbbbbbbbbbbbbb] 0.0014190793503804117 0.0007559871719376416 46.73% 87.71% 1.88x
decode[string-'hello world'] 0.001375113703104197 0.0006963644464712345 49.36% 97.47% 1.97x
decode[string[]-['a', 'b', 'c']] 0.0033724227359181293 0.002151177123862822 36.21% 56.77% 1.57x
decode[string[]-[]0] 0.001523734316800619 0.0007440287153094484 51.17% 104.80% 2.05x
decode[string[]-[]1] 0.0015249542912017205 0.000746150876005007 51.07% 104.38% 2.04x
decode[string[10]-['0', '1', '2', ] 0.0072429303259232925 0.005185170813831519 28.41% 39.69% 1.40x
decode[string[2]-['foo', 'bar']] 0.002539793521967632 0.0015585884202395498 38.63% 62.95% 1.63x
decode[string[5]-['a', 'b', 'c', ] 0.004378181564225755 0.0029230485895094783 33.24% 49.78% 1.50x
decode[ufixed128x1-Decimal('1.2')] 0.0014264341355140308 0.000952821343248717 33.20% 49.71% 1.50x
decode[ufixed128x10-Decimal('1.20000] 0.0014610764476192199 0.0009863162902080092 32.49% 48.13% 1.48x
decode[ufixed128x18-Decimal('1.20000] 0.001454373309413271 0.0009836774318663238 32.36% 47.85% 1.48x
decode[ufixed128x2-Decimal('1.20')] 0.0014358301252008507 0.000958850608374285 33.22% 49.74% 1.50x
decode[ufixed16x1-Decimal('1.2')] 0.0014366560125566408 0.0009585548327876111 33.28% 49.88% 1.50x
decode[ufixed16x2-Decimal('1.20')] 0.0014410208828085302 0.0009592704460343529 33.43% 50.22% 1.50x
decode[ufixed256x1-Decimal('1.2')] 0.0014168366843748004 0.0009379791707617135 33.80% 51.05% 1.51x
decode[ufixed256x10-Decimal('1.20000] 0.001442792845918801 0.0009757003745823834 32.37% 47.87% 1.48x
decode[ufixed256x18-Decimal('1.20000] 0.0014450496942227714 0.0009717372846314712 32.75% 48.71% 1.49x
decode[ufixed256x2-Decimal('1.20')] 0.0014085224549644437 0.0009452272357387362 32.89% 49.01% 1.49x
decode[ufixed32x1-Decimal('1.2')] 0.0014248173554526613 0.0009568314737981385 32.85% 48.91% 1.49x
decode[ufixed32x2-Decimal('1.20')] 0.001441503710445512 0.000956611537719963 33.64% 50.69% 1.51x
decode[ufixed64x1-Decimal('1.2')] 0.0014123121635794564 0.0009504116588494901 32.71% 48.60% 1.49x
decode[ufixed64x10-Decimal('1.20000] 0.0014620086352038924 0.0009830819453129993 32.76% 48.72% 1.49x
decode[ufixed64x18-Decimal('1.20000] 0.0014582288431989581 0.0009811914191806962 32.71% 48.62% 1.49x
decode[ufixed64x2-Decimal('1.20')] 0.001423212195312118 0.0009546216907317519 32.92% 49.09% 1.49x
decode[ufixed8x1-Decimal('1.2')] 0.0014431703290739416 0.0009377349658489513 35.02% 53.90% 1.54x
decode[ufixed8x2-Decimal('1.20')] 0.001426594980826782 0.0009548564933545631 33.07% 49.40% 1.49x
decode[uint128-3402823669209384] 0.0009235229865968914 0.0004537145731973934 50.87% 103.55% 2.04x
decode[uint16-65535] 0.0009171529121550754 0.0004519819246159911 50.72% 102.92% 2.03x
decode[uint256-0] 0.0009039044310020472 0.00043212265940757434 52.19% 109.18% 2.09x
decode[uint256-1157920892373161] 0.0009104329189433269 0.00043871857264546945 51.81% 107.52% 2.08x
decode[uint256[2]-[0, 115792089237] 0.0014146103029390074 0.0007845022644906284 44.54% 80.32% 1.80x
decode[uint256[2][2]-[[1, 2], [3, 4]]] 0.002333792294269045 0.0013917091083200561 40.37% 67.69% 1.68x
decode[uint32-4294967295] 0.0009263191735458875 0.00046012506908579197 50.33% 101.32% 2.01x
decode[uint64-1844674407370955] 0.0009614676135881223 0.0004519260724108188 53.00% 112.75% 2.13x
decode[uint8-0] 0.0009095161358583658 0.00044086636689528693 51.53% 106.30% 2.06x
decode[uint8-255] 0.0009168007640695764 0.00044541880833593144 51.42% 105.83% 2.06x
decode[uint8[]-[]0] 0.0015102538613428341 0.0007301760452731021 51.65% 106.83% 2.07x
decode[uint8[]-[]1] 0.0015038271351400815 0.0007171117564700845 52.31% 109.71% 2.10x
decode[uint8[]-[1, 2, 3, 4, 5]] 0.002112164554550976 0.001204328213162853 42.98% 75.38% 1.75x
decode[uint8[][]-[[]]] 0.002280653458121172 0.0012519189473669836 45.11% 82.17% 1.82x
decode[uint8[10]-[0, 1, 2, 3, 4, ] 0.0032071599933351535 0.00220921641628085 31.12% 45.17% 1.45x
decode[uint8[100]-[0, 1, 2, 3, 4, ] 0.02349493967442889 0.017837246910707854 24.08% 31.72% 1.32x
decode[uint8[2][]-[]] 0.001513066693708602 0.0007239158067005219 52.16% 109.01% 2.09x
decode[uint8[2][2][]-[]] 0.0015141876766623834 0.00072416653383884 52.17% 109.09% 2.09x
decode[uint8[3]-[1, 2, 3]] 0.001659427897769491 0.0009593831926995522 42.19% 72.97% 1.73x
encode[((uint8,uint8),uint8)-((1, 2), 3)] 0.002660211145513728 0.0014944151981541127 43.82% 78.01% 1.78x
encode[((uint8[2],(string,bool)),bytes32)-(([1, 2], ('hi',] 0.005673662373420582 0.0028257639764741028 50.20% 100.78% 2.01x
encode[((uint8[2][2],(string[2],bool[2])),bytes32[2])-(([[1, 2], [3, 4] 0.010438259249993913 0.005106816380195056 51.08% 104.40% 2.04x
encode[(address,uint8)-(b'\\x00\\x00\\x00\\] 0.0022703214638085992 0.000982312010570917 56.73% 131.12% 2.31x
encode[(bytes[],string[])-([], [])] 0.0025725237267465013 0.0009290282990199486 63.89% 176.90% 2.77x
encode[(bytes1,bytes2,bytes3,bytes4)-(b'\\x01', b'\\x01] 0.0016797979041899079 0.0008957855381679183 46.67% 87.52% 1.88x
encode[(bytes32[],string[])-([b'\\x00\\x00\\x00] 0.0044384843880646745 0.0016908709575155442 61.90% 162.50% 2.62x
encode[(fixed32x2,uint8)-(Decimal('3.14')] 0.0041172220588255 0.0021787362681793226 47.08% 88.97% 1.89x
encode[(function,uint256)-(b'\\x01\\x01\\x01\\] 0.0016897407907917853 0.0008152079214660484 51.76% 107.28% 2.07x
encode[(string,bytes)-('foo', b'bar')] 0.0023102867545681713 0.001012142459807226 56.19% 128.26% 2.28x
encode[(string[],bytes[])-([''], [b''])] 0.003951973276594373 0.0014444057813415626 63.45% 173.61% 2.74x
encode[(string[],bytes[])-([], [])] 0.0025352009814340595 0.0009236180854633039 63.57% 174.49% 2.74x
encode[(uint256,bool)-(42, True)] 0.0016710244808127938 0.0007884373052778119 52.82% 111.94% 2.12x
encode[(uint256[],(string[],bool))-([1, 2, 3], (['a] 0.0064573884859155314 0.002672828313433144 58.61% 141.59% 2.42x
encode[(uint256[2],string)-([1, 2], 'baz')] 0.003086931901361281 0.0013149155704483837 57.40% 134.76% 2.35x
encode[(uint8,(bool,string))-(7, (False, 'hi'] 0.0033205509090969304 0.001599381474996259 51.83% 107.61% 2.08x
encode[(uint8[],string)-([], '')] 0.002507721844830388 0.0010005310616223733 60.10% 150.64% 2.51x
encode[(uint8[][],string)-([[]], '')] 0.003392670368423108 0.0012183358346432014 64.09% 178.47% 2.78x
encode[(uint8[2],(string,bool[2]))-([1, 2], ('x', [] 0.004825900369564559 0.0022869613254073396 52.61% 111.02% 2.11x
encode[(uint8[2][],string[])-([], [])] 0.0025731733144687256 0.0009314363886162234 63.80% 176.26% 2.76x
encode[(uint8[2][2],(string[2],bool[2]))-([[1, 2], [3, 4]] 0.007754083352459534 0.003505756974346286 54.79% 121.18% 2.21x
encode[(uint8[2][2][],string[])-([], [])] 0.002588595267439711 0.0009297246552410623 64.08% 178.43% 2.78x
encode[(uint8[2][2][2],string)-([[[1, 2], [3, 4] 0.007914834302525623 0.0031844124327861088 59.77% 148.55% 2.49x
encode[(uint8[2][2][2][2],string[2])-([[[[1, 2], [3, ] 0.016824165103451864 0.006179193943387632 63.27% 172.27% 2.72x
encode[(uint8[2][2][2][2][],string[])-([], [])] 0.0025755647423335716 0.0009308712453380229 63.86% 176.68% 2.77x
encode[(uint8[2][2][2][2][2],string[2][2])-([[[[[1, 2], [3,] 0.03605221357143153 0.01203262665059909 66.62% 199.62% 3.00x
encode[(uint8[3],(string[2],bool[2]))-([1, 2, 3], (['a] 0.00647341367390877 0.003035393126182346 53.11% 113.26% 2.13x
encode[address-b'\\x00\\x00\\x00\\x] 0.0012256247204785761 0.00043240563266380694 64.72% 183.44% 2.83x
encode[address-b'\\xff\\xff\\xff\\x] 0.0012355754712179037 0.0004339973626871077 64.87% 184.70% 2.85x
encode[address[2]-[b'\\x00\\x00\\x00\\] 0.002205435803193602 0.0007679384497913037 65.18% 187.19% 2.87x
encode[bool-False] 0.0007144549930769874 0.00025490769560526346 64.32% 180.28% 2.80x
encode[bool-True] 0.0007038887201066484 0.00025550071333384493 63.70% 175.49% 2.75x
encode[bool[][2]-[[True, False], ] 0.0030587587118635243 0.000910853069230309 70.22% 235.81% 3.36x
encode[bool[4]-[True, False, Tr] 0.0013050802249644135 0.000553219226079765 57.61% 135.91% 2.36x
encode[bytes-b''] 0.0010277134645089363 0.0003799454729010416 63.03% 170.49% 2.70x
encode[bytes-b'\\x00\\x00\\x00\\x0] 0.001039870429989051 0.00038173184489616167 63.29% 172.41% 2.72x
encode[bytes-b'\\x00\\x00\\x00\\x1] 0.001066097819133534 0.00040730872604746737 61.79% 161.74% 2.62x
encode[bytes-b'aaaaaaaaaaaaaa] 0.001031656807380871 0.00038217538134397995 62.96% 169.94% 2.70x
encode[bytes-b'hello world'] 0.0010350528074401539 0.0003788765091001788 63.40% 173.19% 2.73x
encode[bytes[]-[]0] 0.001155671013236838 0.0003209258686874145 72.23% 260.11% 3.60x
encode[bytes[]-[]1] 0.0011545679665012417 0.0003188282151997351 72.39% 262.13% 3.62x
encode[bytes[]-[b'abc', b'def',] 0.002586720784919871 0.0009236022500022412 64.29% 180.07% 2.80x
encode[bytes[10]-[b'\\x00\\x00\\x00\\] 0.005319782100001981 0.002182290878376559 58.98% 143.77% 2.44x
encode[bytes[100]-[b'\\x00\\x00\\x00\\] 0.03989225540000007 0.01757425356141826 55.95% 126.99% 2.27x
encode[bytes1-b'\\x01'] 0.0007063765309093965 0.00025913325848477795 63.32% 172.59% 2.73x
encode[bytes10-b'\\x01\\x01\\x01\\x] 0.0006894484504347099 0.00025589620880616136 62.88% 169.43% 2.69x
encode[bytes11-b'\\x01\\x01\\x01\\x] 0.0006925117433642685 0.0002557845502158946 63.06% 170.74% 2.71x
encode[bytes12-b'\\x01\\x01\\x01\\x] 0.000693414321179099 0.0002586758624258383 62.70% 168.06% 2.68x
encode[bytes13-b'\\x01\\x01\\x01\\x] 0.0006923755709381124 0.00025687303938886274 62.90% 169.54% 2.70x
encode[bytes14-b'\\x01\\x01\\x01\\x] 0.0006893536229634205 0.0002562516002187719 62.83% 169.01% 2.69x
encode[bytes15-b'\\x01\\x01\\x01\\x] 0.0006988438414513225 0.0002573015103957735 63.18% 171.61% 2.72x
encode[bytes16-b'\\x01\\x01\\x01\\x] 0.0006947379060262611 0.00025724597803577354 62.97% 170.07% 2.70x
encode[bytes16[3]-[b'\\x01\\x01\\x01\\] 0.0011785888502106145 0.0004911653408014293 58.33% 139.96% 2.40x
encode[bytes17-b'\\x01\\x01\\x01\\x] 0.0006935775744125442 0.00025628029695932823 63.05% 170.63% 2.71x
encode[bytes18-b'\\x01\\x01\\x01\\x] 0.0006922200299925846 0.0002539845648109657 63.31% 172.54% 2.73x
encode[bytes19-b'\\x01\\x01\\x01\\x] 0.0006936839017931836 0.00025573264389398945 63.13% 171.25% 2.71x
encode[bytes2-b'\\x01\\x01'] 0.0007005254744276571 0.0002576837329163822 63.22% 171.85% 2.72x
encode[bytes20-b'\\x01\\x01\\x01\\x] 0.0006895043692698707 0.00025551762789963867 62.94% 169.85% 2.70x
encode[bytes21-b'\\x01\\x01\\x01\\x] 0.0006892851646231168 0.0002548931065261173 63.02% 170.42% 2.70x
encode[bytes22-b'\\x01\\x01\\x01\\x] 0.0007088979892489492 0.000253849449297746 64.19% 179.26% 2.79x
encode[bytes23-b'\\x01\\x01\\x01\\x] 0.0006992301960078388 0.00025450543235104616 63.60% 174.74% 2.75x
encode[bytes24-b'\\x01\\x01\\x01\\x] 0.000690649641380944 0.0002557695802437019 62.97% 170.03% 2.70x
encode[bytes25-b'\\x01\\x01\\x01\\x] 0.0006850437433933678 0.0002559426432731068 62.64% 167.66% 2.68x
encode[bytes26-b'\\x01\\x01\\x01\\x] 0.0006885208869863663 0.000255027576912952 62.96% 169.98% 2.70x
encode[bytes27-b'\\x01\\x01\\x01\\x] 0.000698542844213109 0.0002559693862225373 63.36% 172.90% 2.73x
encode[bytes28-b'\\x01\\x01\\x01\\x] 0.0006937619800476301 0.00025601799542330497 63.10% 170.98% 2.71x
encode[bytes29-b'\\x01\\x01\\x01\\x] 0.000694507935709901 0.00025631772461179894 63.09% 170.96% 2.71x
encode[bytes3-b'\\x01\\x01\\x01'] 0.0006985292116015628 0.00025630526724741514 63.31% 172.54% 2.73x
encode[bytes30-b'\\x01\\x01\\x01\\x] 0.0006891118840304101 0.00025541769941362394 62.94% 169.80% 2.70x
encode[bytes31-b'\\x01\\x01\\x01\\x] 0.0006885542666104717 0.00025481009603843264 62.99% 170.22% 2.70x
encode[bytes32-b'\\x01\\x01\\x01\\x] 0.0006899692185406382 0.0002476603904259463 64.11% 178.59% 2.79x
encode[bytes32[2]-[b'\\x00\\x00\\x00\\] 0.0010752558602832487 0.0004151809873083496 61.39% 158.98% 2.59x
encode[bytes4-b'\\x01\\x01\\x01\\x] 0.0007061269093312193 0.0002551711718109593 63.86% 176.73% 2.77x
encode[bytes5-b'\\x01\\x01\\x01\\x] 0.000695169776688593 0.0002576417437999011 62.94% 169.82% 2.70x
encode[bytes6-b'\\x01\\x01\\x01\\x] 0.0006937877756518387 0.00025582654264455897 63.13% 171.19% 2.71x
encode[bytes7-b'\\x01\\x01\\x01\\x] 0.0006972889301494531 0.0002584548352721548 62.93% 169.79% 2.70x
encode[bytes8-b'\\x01\\x01\\x01\\x] 0.000693825320305171 0.00025654626569825205 63.02% 170.45% 2.70x
encode[bytes8[4]-[b'\\x01\\x01\\x01\\] 0.0012828361689936321 0.0005544218126518127 56.78% 131.38% 2.31x
encode[bytes9-b'\\x01\\x01\\x01\\x] 0.0006896076530252136 0.0002568029935141649 62.76% 168.54% 2.69x
encode[fixed128x1-Decimal('1.2')] 0.0023935135172417055 0.0012020223130580678 49.78% 99.12% 1.99x
encode[fixed128x10-Decimal('1.20000] 0.002454336495889474 0.0012682831615507743 48.32% 93.52% 1.94x
encode[fixed128x18-Decimal('1.20000] 0.002464435255436053 0.0012632276481217913 48.74% 95.09% 1.95x
encode[fixed128x2-Decimal('1.20')] 0.002394561105819939 0.0012075043989949964 49.57% 98.31% 1.98x
encode[fixed16x1-Decimal('1.2')] 0.0022306218839466853 0.0011885327922883488 46.72% 87.68% 1.88x
encode[fixed16x2-Decimal('1.20')] 0.0022363258827954157 0.0011882165667492371 46.87% 88.21% 1.88x
encode[fixed256x1-Decimal('1.2')] 0.0025029567027751733 0.0012104854846924985 51.64% 106.77% 2.07x
encode[fixed256x10-Decimal('1.20000] 0.002553476436974217 0.001253220632894095 50.92% 103.75% 2.04x
encode[fixed256x18-Decimal('1.20000] 0.002582731404014433 0.001268424486242079 50.89% 103.62% 2.04x
encode[fixed256x2-Decimal('1.20')] 0.00252127632963469 0.0012182595868691006 51.68% 106.96% 2.07x
encode[fixed32x1-Decimal('1.2')] 0.0023477579151673375 0.0011863961496861668 49.47% 97.89% 1.98x
encode[fixed32x2-Decimal('1.20')] 0.0023043411636346905 0.0012012352192981265 47.87% 91.83% 1.92x
encode[fixed32x2[]-[]0] 0.001150437349248261 0.00031947084128037905 72.23% 260.11% 3.60x
encode[fixed32x2[]-[]1] 0.0011488618101544873 0.00032108588406152237 72.05% 257.81% 3.58x
encode[fixed32x2[2]-[Decimal('3.14')] 0.005581300363094296 0.002310442163460034 58.60% 141.57% 2.42x
encode[fixed64x1-Decimal('1.2')] 0.002332247395346761 0.0012066658697856127 48.26% 93.28% 1.93x
encode[fixed64x10-Decimal('1.20000] 0.0024051073457444353 0.0012501935301078928 48.02% 92.38% 1.92x
encode[fixed64x18-Decimal('1.20000] 0.0023970877857161896 0.0012556422273336419 47.62% 90.91% 1.91x
encode[fixed64x2-Decimal('1.20')] 0.002364555722953455 0.001199625815010022 49.27% 97.11% 1.97x
encode[fixed8x1-Decimal('1.2')] 0.0022180369872772648 0.0011899758448728392 46.35% 86.39% 1.86x
encode[fixed8x2-Decimal('1.20')] 0.0023026342200478376 0.001181194287504752 48.70% 94.94% 1.95x
encode[function-b'\\x00\\x00\\x00\\x] 0.0006998017849058292 0.0002551292270257869 63.54% 174.29% 2.74x
encode[function-b'\\x01\\x01\\x01\\x] 0.0006975677772114874 0.0002546470612144037 63.50% 173.94% 2.74x
encode[function-b'\\xff\\xff\\xff\\x] 0.0006969684405189028 0.0002555040640916459 63.34% 172.78% 2.73x
encode[int128--170141183460469] 0.000964858051546963 0.00036629356240284723 62.04% 163.41% 2.63x
encode[int128-1701411834604692] 0.0009600039394863649 0.0003618856749522493 62.30% 165.28% 2.65x
encode[int16--32768] 0.0008390034021861245 0.0003450396738332006 58.88% 143.16% 2.43x
encode[int16-32767] 0.0008444545422000182 0.0003412679699362116 59.59% 147.45% 2.47x
encode[int256--578960446186580] 0.0010213590670712332 0.00037412717309200945 63.37% 173.00% 2.73x
encode[int256-5789604461865809] 0.0010061698788863143 0.00036705150038713024 63.52% 174.12% 2.74x
encode[int32--2147483648] 0.0008905922285117485 0.00036017583615080844 59.56% 147.27% 2.47x
encode[int32-2147483647] 0.0008845838865805801 0.00035429242446512107 59.95% 149.68% 2.50x
encode[int64--922337203685477] 0.0009327701662958491 0.0003594501068732739 61.46% 159.50% 2.59x
encode[int64-9223372036854775] 0.0009239221846292411 0.0003512852848130123 61.98% 163.01% 2.63x
encode[int8--128] 0.0008108748163265874 0.00032904947067284823 59.42% 146.43% 2.46x
encode[int8-127] 0.000821513736146897 0.00032856783083297657 60.00% 150.03% 2.50x
encode[string-''] 0.0010801523713175921 0.0004092664007407789 62.11% 163.92% 2.64x
encode[string-'\U0001d518\U0001d52b\U0001d526\U0001d520\U0001d52c\U0001d521\U0001d522'] 0.0011064775330187641 0.00042138894103756186 61.92% 162.58% 2.63x
encode[string-'aaaaaaaaaaaaaaa0] 0.001095364229509247 0.00041680325851374257 61.95% 162.80% 2.63x
encode[string-'aaaaaaaaaaaaaaa1] 0.0011358510593204498 0.0004538834526030554 60.04% 150.25% 2.50x
encode[string-'bbbbbbbbbbbbbbb] 0.0011507894082156682 0.0004589663236756766 60.12% 150.74% 2.51x
encode[string-'hello world'] 0.0010928278056533255 0.0004179634156610394 61.75% 161.46% 2.61x
encode[string[]-['a', 'b', 'c']] 0.0027699400568872486 0.0010213660458463303 63.13% 171.20% 2.71x
encode[string[]-[]0] 0.0011453021642132493 0.00031973989452782186 72.08% 258.20% 3.58x
encode[string[]-[]1] 0.0011536008093545136 0.00032096096261234727 72.18% 259.42% 3.59x
encode[string[10]-['0', '1', '2', ] 0.005786774795178398 0.002457825194939307 57.53% 135.44% 2.35x
encode[string[2]-['foo', 'bar']] 0.0021504872892148573 0.0007935420985435151 63.10% 171.00% 2.71x
encode[string[5]-['a', 'b', 'c', ] 0.0035175810191527363 0.0014233715407391612 59.54% 147.13% 2.47x
encode[ufixed128x1-Decimal('1.2')] 0.0021569816924960233 0.0011609253284657255 46.18% 85.80% 1.86x
encode[ufixed128x10-Decimal('1.20000] 0.0022330472871276877 0.0012048843937092165 46.04% 85.33% 1.85x
encode[ufixed128x18-Decimal('1.20000] 0.002229296233829913 0.0012157824465652682 45.46% 83.36% 1.83x
encode[ufixed128x2-Decimal('1.20')] 0.002193444812649934 0.0011642431023435819 46.92% 88.40% 1.88x
encode[ufixed16x1-Decimal('1.2')] 0.00211621446024184 0.001163008923633077 45.04% 81.96% 1.82x
encode[ufixed16x2-Decimal('1.20')] 0.0021102072004710423 0.0011716106736681452 44.48% 80.11% 1.80x
encode[ufixed256x1-Decimal('1.2')] 0.002212599299016302 0.0011583937061658493 47.65% 91.01% 1.91x
encode[ufixed256x10-Decimal('1.20000] 0.0022747137909322587 0.0012127986920165898 46.68% 87.56% 1.88x
encode[ufixed256x18-Decimal('1.20000] 0.0022715282727281674 0.0012160225230745825 46.47% 86.80% 1.87x
encode[ufixed256x2-Decimal('1.20')] 0.002217337387653206 0.0011644752317215591 47.48% 90.42% 1.90x
encode[ufixed32x1-Decimal('1.2')] 0.002121682103615858 0.0011584338002485733 45.40% 83.15% 1.83x
encode[ufixed32x2-Decimal('1.20')] 0.0021273509367667315 0.001173246373095162 44.85% 81.32% 1.81x
encode[ufixed64x1-Decimal('1.2')] 0.0021441823469868144 0.0011601364420016995 45.89% 84.82% 1.85x
encode[ufixed64x10-Decimal('1.20000] 0.002196499590208881 0.0012067537292186075 45.06% 82.02% 1.82x
encode[ufixed64x18-Decimal('1.20000] 0.0022043567305837157 0.001212054874520993 45.02% 81.87% 1.82x
encode[ufixed64x2-Decimal('1.20')] 0.0021760645096605366 0.0011763345541848241 45.94% 84.99% 1.85x
encode[ufixed8x1-Decimal('1.2')] 0.002115771836538071 0.001152988911191925 45.51% 83.50% 1.84x
encode[ufixed8x2-Decimal('1.20')] 0.0021050670372970842 0.0011666105042674737 44.58% 80.44% 1.80x
encode[uint128-3402823669209384] 0.0008420729180155793 0.00031717414963158396 62.33% 165.49% 2.65x
encode[uint16-65535] 0.0008239753303573003 0.0003156788312338752 61.69% 161.02% 2.61x
encode[uint256-0] 0.0008573768667343501 0.0003154405202394628 63.21% 171.80% 2.72x
encode[uint256-1157920892373161] 0.0008722837506985702 0.0003147165835591439 63.92% 177.16% 2.77x
encode[uint256[2]-[0, 115792089237] 0.0015023879948259868 0.0005428868300988517 63.87% 176.74% 2.77x
encode[uint256[2][2]-[[1, 2], [3, 4]]] 0.002998276581169645 0.00097771938509777 67.39% 206.66% 3.07x
encode[uint32-4294967295] 0.0008126765280554174 0.00032710630744356276 59.75% 148.44% 2.48x
encode[uint64-1844674407370955] 0.0008298610713555838 0.0003189621050478478 61.56% 160.18% 2.60x
encode[uint8-0] 0.0007941255310110804 0.0003106893537712109 60.88% 155.60% 2.56x
encode[uint8-255] 0.0007921296365220374 0.00031014173924416854 60.85% 155.41% 2.55x
encode[uint8[]-[]0] 0.0011546068703246828 0.00031876503332139533 72.39% 262.21% 3.62x
encode[uint8[]-[]1] 0.0011442176613685824 0.00031687607853727256 72.31% 261.09% 3.61x
encode[uint8[]-[1, 2, 3, 4, 5]] 0.0021339561837713174 0.0008714940366168345 59.16% 144.86% 2.45x
encode[uint8[][]-[[]]] 0.0018689176603768388 0.0004729055313110033 74.70% 295.20% 3.95x
encode[uint8[10]-[0, 1, 2, 3, 4, ] 0.00272439795454671 0.0013303169487530603 51.17% 104.79% 2.05x
encode[uint8[100]-[0, 1, 2, 3, 4, ] 0.01900523084615184 0.010311036187497772 45.75% 84.32% 1.84x
encode[uint8[2][]-[]] 0.0011454655747769576 0.00031951532509313674 72.11% 258.50% 3.59x
encode[uint8[2][2][]-[]] 0.0011488781807409193 0.0003180134545432894 72.32% 261.27% 3.61x
encode[uint8[3]-[1, 2, 3]] 0.0014525466017729202 0.000640920804053351 55.88% 126.63% 2.27x
is_encodable_type[((uint8,uint8),uint8)] 0.000019979550786294577 0.000020013960331843096 -0.17% -0.17% 1.00x
is_encodable_type[((uint8[2],(string,bool)),bytes32)] 0.000019989908538274894 0.000019607699279012642 1.91% 1.95% 1.02x
is_encodable_type[((uint8[2][2],(string[2],bool[2])),bytes32[2])] 0.000019940547369395092 0.000019745857020390223 0.98% 0.99% 1.01x
is_encodable_type[(address,uint8)] 0.000019956127219511 0.00001959217668412954 1.82% 1.86% 1.02x
is_encodable_type[(bytes[],string[])] 0.00002020941983024553 0.000019593621075505786 3.05% 3.14% 1.03x
is_encodable_type[(bytes1,bytes2,bytes3,bytes4)] 0.0000199039940528678 0.000019263130469899653 3.22% 3.33% 1.03x
is_encodable_type[(bytes32[],string[])] 0.000019422839708991954 0.000019901938417100234 -2.47% -2.41% 0.98x
is_encodable_type[(fixed32x2,uint8)] 0.000019943313816143504 0.00001975589438825982 0.94% 0.95% 1.01x
is_encodable_type[(function,uint256)] 0.00001988732471653236 0.000019377737790399962 2.56% 2.63% 1.03x
is_encodable_type[(string,bytes)] 0.00001982984667105132 0.0000196997428109249 0.66% 0.66% 1.01x
is_encodable_type[(string[],bytes[])] 0.000019834699926448373 0.00001950672420834559 1.65% 1.68% 1.02x
is_encodable_type[(uint256,bool)] 0.00001978300360243795 0.00001992835333674519 -0.73% -0.73% 0.99x
is_encodable_type[(uint256[],(string[],bool))] 0.000019933951136095984 0.00001964741191961123 1.44% 1.46% 1.01x
is_encodable_type[(uint256[2],string)] 0.00001991889789737303 0.00001954255898064886 1.89% 1.93% 1.02x
is_encodable_type[(uint8,(bool,string))] 0.000019845979242511715 0.0000195884478803381 1.30% 1.31% 1.01x
is_encodable_type[(uint8[],string)] 0.00002015067623518773 0.000019316644625185753 4.14% 4.32% 1.04x
is_encodable_type[(uint8[][],string)] 0.00001964037530759659 0.00001992647027811087 -1.46% -1.44% 0.99x
is_encodable_type[(uint8[2],(string,bool[2]))] 0.000019752549446105075 0.000019794560117547037 -0.21% -0.21% 1.00x
is_encodable_type[(uint8[2][],string[])] 0.000020344071851544005 0.000019671118752109835 3.31% 3.42% 1.03x
is_encodable_type[(uint8[2][2],(string[2],bool[2]))] 0.000019997550427223882 0.000019472466783706942 2.63% 2.70% 1.03x
is_encodable_type[(uint8[2][2][],string[])] 0.000019751053286082223 0.000019838755243400742 -0.44% -0.44% 1.00x
is_encodable_type[(uint8[2][2][2],string)] 0.000020246680352509196 0.000019514016361755805 3.62% 3.75% 1.04x
is_encodable_type[(uint8[2][2][2][2],string[2])] 0.00002025457845225136 0.00001947122426365246 3.87% 4.02% 1.04x
is_encodable_type[(uint8[2][2][2][2][],string[])] 0.00002004952191827272 0.00001962591446742659 2.11% 2.16% 1.02x
is_encodable_type[(uint8[2][2][2][2][2],string[2][2])] 0.000019893646590122086 0.000019537723931474706 1.79% 1.82% 1.02x
is_encodable_type[(uint8[3],(string[2],bool[2]))] 0.000019911094473833768 0.000019426221124391794 2.44% 2.50% 1.02x
is_encodable_type[address[2]] 0.000020193628825577683 0.000019495607639164068 3.46% 3.58% 1.04x
is_encodable_type[address] 0.00001964709757251466 0.000019583884420613228 0.32% 0.32% 1.00x
is_encodable_type[bool[][2]] 0.000019659801135392386 0.000019668840410299354 -0.05% -0.05% 1.00x
is_encodable_type[bool[4]] 0.000019910305250197993 0.00001982095436249142 0.45% 0.45% 1.00x
is_encodable_type[bool] 0.00001961857024817216 0.00001944299541518336 0.89% 0.90% 1.01x
is_encodable_type[bytes[]] 0.000019905178927034505 0.00001935727195141603 2.75% 2.83% 1.03x
is_encodable_type[bytes[10]] 0.000020077087352931177 0.000019734200654377006 1.71% 1.74% 1.02x
is_encodable_type[bytes[100]] 0.000019963780507085004 0.00001949893515485027 2.33% 2.38% 1.02x
is_encodable_type[bytes] 0.000019371602622908112 0.00001951056636924109 -0.72% -0.71% 0.99x
is_encodable_type[bytes1] 0.00001993284700293611 0.000019445080705327943 2.45% 2.51% 1.03x
is_encodable_type[bytes10] 0.00002018538501282187 0.000019548281893722208 3.16% 3.26% 1.03x
is_encodable_type[bytes11] 0.000019968312159769634 0.000019291383349146157 3.39% 3.51% 1.04x
is_encodable_type[bytes12] 0.000019957914697839948 0.00002019206442710329 -1.17% -1.16% 0.99x
is_encodable_type[bytes13] 0.000019926686271131362 0.00001964873294906078 1.39% 1.41% 1.01x
is_encodable_type[bytes14] 0.000019945468345649612 0.000019235185912026867 3.56% 3.69% 1.04x
is_encodable_type[bytes15] 0.00001968699949471743 0.00001994877253886107 -1.33% -1.31% 0.99x
is_encodable_type[bytes16[3]] 0.00001978874843942543 0.00001992249103953857 -0.68% -0.67% 0.99x
is_encodable_type[bytes16] 0.000019685060630092417 0.000019728921000135967 -0.22% -0.22% 1.00x
is_encodable_type[bytes17] 0.00002004223702912612 0.000019108664154258564 4.66% 4.89% 1.05x
is_encodable_type[bytes18] 0.000019985887127843942 0.000019612363870694217 1.87% 1.90% 1.02x
is_encodable_type[bytes19] 0.000020091574813178384 0.000019537644378243502 2.76% 2.84% 1.03x
is_encodable_type[bytes2] 0.00001985515228249976 0.00001936298886738348 2.48% 2.54% 1.03x
is_encodable_type[bytes20] 0.000019693331231958067 0.000019686222491169908 0.04% 0.04% 1.00x
is_encodable_type[bytes21] 0.000019821789575730666 0.00001971413980004243 0.54% 0.55% 1.01x
is_encodable_type[bytes22] 0.000019631931317146885 0.000019557848982147735 0.38% 0.38% 1.00x
is_encodable_type[bytes23] 0.000019855392120953636 0.000019494223523878534 1.82% 1.85% 1.02x
is_encodable_type[bytes24] 0.000019887377447059442 0.000019809205543693956 0.39% 0.39% 1.00x
is_encodable_type[bytes25] 0.00002021065998180251 0.000019860729369806034 1.73% 1.76% 1.02x
is_encodable_type[bytes26] 0.0000197586464153295 0.000019412673126901972 1.75% 1.78% 1.02x
is_encodable_type[bytes27] 0.000020298165921109843 0.000019608940800667537 3.40% 3.51% 1.04x
is_encodable_type[bytes28] 0.000019513977682984838 0.00001943291050728144 0.42% 0.42% 1.00x
is_encodable_type[bytes29] 0.000019891417429355933 0.000019703071365658833 0.95% 0.96% 1.01x
is_encodable_type[bytes3] 0.000019516796631732248 0.000019321854177949584 1.00% 1.01% 1.01x
is_encodable_type[bytes30] 0.000019762995061724355 0.000019363476432172005 2.02% 2.06% 1.02x
is_encodable_type[bytes31] 0.00001963986328043779 0.000020093085852001973 -2.31% -2.26% 0.98x
is_encodable_type[bytes32[2]] 0.0000199994559158917 0.000019573497282784917 2.13% 2.18% 1.02x
is_encodable_type[bytes32] 0.000019618625349478002 0.000019734306566697224 -0.59% -0.59% 0.99x
is_encodable_type[bytes4] 0.000020122235899718025 0.000019852367485524408 1.34% 1.36% 1.01x
is_encodable_type[bytes5] 0.000020043472972125702 0.000019531654884543204 2.55% 2.62% 1.03x
is_encodable_type[bytes6] 0.000019829972904716618 0.000019473471931688452 1.80% 1.83% 1.02x
is_encodable_type[bytes7] 0.000020098373575816335 0.000019652580691313035 2.22% 2.27% 1.02x
is_encodable_type[bytes8[4]] 0.000019838605415321183 0.000019939871871904873 -0.51% -0.51% 0.99x
is_encodable_type[bytes8] 0.000019724768956183768 0.00001963573031715068 0.45% 0.45% 1.00x
is_encodable_type[bytes9] 0.000020123356175757667 0.000019463468249003566 3.28% 3.39% 1.03x
is_encodable_type[fixed128x1] 0.000019570687593817774 0.00001936471849247481 1.05% 1.06% 1.01x
is_encodable_type[fixed128x10] 0.000019487751554177133 0.000019527445573367405 -0.20% -0.20% 1.00x
is_encodable_type[fixed128x18] 0.000019659139324022736 0.000019704454004742712 -0.23% -0.23% 1.00x
is_encodable_type[fixed128x2] 0.000019861730361383095 0.000019610324796838734 1.27% 1.28% 1.01x
is_encodable_type[fixed16x1] 0.00001976582588939683 0.00001932187110216905 2.25% 2.30% 1.02x
is_encodable_type[fixed16x2] 0.000019646102177383214 0.000019715552555804822 -0.35% -0.35% 1.00x
is_encodable_type[fixed256x1] 0.000020002654266830217 0.000019859798796465247 0.71% 0.72% 1.01x
is_encodable_type[fixed256x10] 0.000019958097419560697 0.00001957485737045953 1.92% 1.96% 1.02x
is_encodable_type[fixed256x18] 0.00002014551134526696 0.00001991447182773722 1.15% 1.16% 1.01x
is_encodable_type[fixed256x2] 0.000019737011339936034 0.00001984119845858346 -0.53% -0.53% 0.99x
is_encodable_type[fixed32x1] 0.000019591712034344496 0.0000198711802107885 -1.43% -1.41% 0.99x
is_encodable_type[fixed32x2[]] 0.000019787233013279572 0.00001942300218212161 1.84% 1.88% 1.02x
is_encodable_type[fixed32x2[2]] 0.000019572093676573343 0.000019819858307322976 -1.27% -1.25% 0.99x
is_encodable_type[fixed32x2] 0.000020032882844441047 0.000019914663919640933 0.59% 0.59% 1.01x
is_encodable_type[fixed64x1] 0.000019898019710499456 0.000019360581790753744 2.70% 2.78% 1.03x
is_encodable_type[fixed64x10] 0.0000198853680367754 0.0000198270902143764 0.29% 0.29% 1.00x
is_encodable_type[fixed64x18] 0.00002031964655985867 0.000019367418871041113 4.69% 4.92% 1.05x
is_encodable_type[fixed64x2] 0.00002003214966546215 0.00001952738056562135 2.52% 2.58% 1.03x
is_encodable_type[fixed8x1] 0.000020012500557029095 0.000019481325259874548 2.65% 2.73% 1.03x
is_encodable_type[fixed8x2] 0.000019669352912014148 0.00001964058674389639 0.15% 0.15% 1.00x
is_encodable_type[function] 0.00001920506054573489 0.000019874923500974185 -3.49% -3.37% 0.97x
is_encodable_type[int128] 0.000020131387089778387 0.00001919222325458866 4.67% 4.89% 1.05x
is_encodable_type[int16] 0.000019669212823925456 0.000020089091227754775 -2.13% -2.09% 0.98x
is_encodable_type[int256] 0.000019670829053069397 0.000019855860374769658 -0.94% -0.93% 0.99x
is_encodable_type[int32] 0.000019725981226210427 0.000019689687707032574 0.18% 0.18% 1.00x
is_encodable_type[int64] 0.000019852182479268667 0.00001957497829420979 1.40% 1.42% 1.01x
is_encodable_type[int8] 0.000019900230254362807 0.00001977403075648897 0.63% 0.64% 1.01x
is_encodable_type[string[]] 0.00001977745497589622 0.00002005339526680727 -1.40% -1.38% 0.99x
is_encodable_type[string[10]] 0.000020148549897362838 0.00001936571730594993 3.89% 4.04% 1.04x
is_encodable_type[string[2]] 0.000020045943515491765 0.000019497763881662782 2.73% 2.81% 1.03x
is_encodable_type[string[5]] 0.000019959326213188447 0.000019827710136303607 0.66% 0.66% 1.01x
is_encodable_type[string] 0.000019996569023284945 0.00001909298958139176 4.52% 4.73% 1.05x
is_encodable_type[ufixed128x1] 0.000020015546479626617 0.000019947514514079363 0.34% 0.34% 1.00x
is_encodable_type[ufixed128x10] 0.000020043836874234436 0.0000203282852955067 -1.42% -1.40% 0.99x
is_encodable_type[ufixed128x18] 0.00001977731440318047 0.00001997607801862 -1.01% -1.00% 0.99x
is_encodable_type[ufixed128x2] 0.00001972634706218024 0.000019870861034735852 -0.73% -0.73% 0.99x
is_encodable_type[ufixed16x1] 0.000020021197439089072 0.000019283746425660577 3.68% 3.82% 1.04x
is_encodable_type[ufixed16x2] 0.00001995336730048736 0.00001948652477624096 2.34% 2.40% 1.02x
is_encodable_type[ufixed256x1] 0.000019913351822605202 0.000019583598262818617 1.66% 1.68% 1.02x
is_encodable_type[ufixed256x10] 0.000019694899615527466 0.00001966578610513293 0.15% 0.15% 1.00x
is_encodable_type[ufixed256x18] 0.000020002520287526752 0.000019413008576009144 2.95% 3.04% 1.03x
is_encodable_type[ufixed256x2] 0.000020080416147695504 0.000019497498734776103 2.90% 2.99% 1.03x
is_encodable_type[ufixed32x1] 0.000019841285981941147 0.00001961262127828421 1.15% 1.17% 1.01x
is_encodable_type[ufixed32x2] 0.000019952801871064782 0.000019856167476860296 0.48% 0.49% 1.00x
is_encodable_type[ufixed64x1] 0.000019866704049605853 0.00001947575561041539 1.97% 2.01% 1.02x
is_encodable_type[ufixed64x10] 0.000020014678136873484 0.000019661506582759573 1.76% 1.80% 1.02x
is_encodable_type[ufixed64x18] 0.000019628539058226194 0.000019700716148728906 -0.37% -0.37% 1.00x
is_encodable_type[ufixed64x2] 0.00001968874930422755 0.000019892518102694517 -1.03% -1.02% 0.99x
is_encodable_type[ufixed8x1] 0.000019862512321591428 0.000019365405191302767 2.50% 2.57% 1.03x
is_encodable_type[ufixed8x2] 0.000019991433492487914 0.000019564296156713432 2.14% 2.18% 1.02x
is_encodable_type[uint128] 0.000019991459385177273 0.000019444927317960415 2.73% 2.81% 1.03x
is_encodable_type[uint16] 0.0000199026206460501 0.00001958360443208916 1.60% 1.63% 1.02x
is_encodable_type[uint256[2][2]] 0.000019754593783190857 0.000019536952627355523 1.10% 1.11% 1.01x
is_encodable_type[uint256[2]] 0.000019772885390125087 0.000019675004940682473 0.50% 0.50% 1.00x
is_encodable_type[uint256] 0.000019899934253848302 0.000019411244171543286 2.46% 2.52% 1.03x
is_encodable_type[uint32] 0.000019953718750024382 0.00001937705161964426 2.89% 2.98% 1.03x
is_encodable_type[uint64] 0.00001977804108791683 0.000019451057488299078 1.65% 1.68% 1.02x
is_encodable_type[uint8[][]] 0.000020009640373844407 0.00001975477481421712 1.27% 1.29% 1.01x
is_encodable_type[uint8[]] 0.0000200068006371603 0.000019557995474873468 2.24% 2.29% 1.02x
is_encodable_type[uint8[10]] 0.0000198207744797122 0.00001949000514178315 1.67% 1.70% 1.02x
is_encodable_type[uint8[100]] 0.000019768968123548885 0.00001930264205274998 2.36% 2.42% 1.02x
is_encodable_type[uint8[2][]] 0.000020313201828202487 0.000019602748097488887 3.50% 3.62% 1.04x
is_encodable_type[uint8[2][2][]] 0.000019668820578975573 0.00001952071651726746 0.75% 0.76% 1.01x
is_encodable_type[uint8[3]] 0.000019973015336064192 0.000019779051577064673 0.97% 0.98% 1.01x
is_encodable_type[uint8] 0.00002004654638197155 0.00001972726331563622 1.59% 1.62% 1.02x
is_encodable[((uint8,uint8),uint8)-((1, 2), 3)] 0.00040959552951077443 0.0003650437732694634 10.88% 12.20% 1.12x
is_encodable[((uint8[2],(string,bool)),bytes32)-(([1, 2], ('hi',] 0.0006284132083332376 0.0005777635338618239 8.06% 8.77% 1.09x
is_encodable[((uint8[2][2],(string[2],bool[2])),bytes32[2])-(([[1, 2], [3, 4] 0.0011341961523553168 0.001009378485202027 11.00% 12.37% 1.12x
is_encodable[(address,uint8)-(b'\\x00\\x00\\x00\\] 0.00023947409575747513 0.0002048234245360771 14.47% 16.92% 1.17x
is_encodable[(bytes[],string[])-([], [])] 0.0002632111325682277 0.00024801875374805846 5.77% 6.13% 1.06x
is_encodable[(bytes1,bytes2,bytes3,bytes4)-(b'\\x01', b'\\x01] 0.00021939931215682348 0.0002145861768868973 2.19% 2.24% 1.02x
is_encodable[(bytes32[],string[])-([b'\\x00\\x00\\x00] 0.00034025521541295795 0.00031586508061956346 7.17% 7.72% 1.08x
is_encodable[(fixed32x2,uint8)-(Decimal('3.14')] 0.0008718191088720937 0.0005623620597786894 35.50% 55.03% 1.55x
is_encodable[(function,uint256)-(b'\\x01\\x01\\x01\\] 0.00025885857210069814 0.00020842203177339028 19.48% 24.20% 1.24x
is_encodable[(string,bytes)-('foo', b'bar')] 0.00019013190166457212 0.00017928617409153661 5.70% 6.05% 1.06x
is_encodable[(string[],bytes[])-([''], [b''])] 0.0003013154385130877 0.0002821276161944311 6.37% 6.80% 1.07x
is_encodable[(string[],bytes[])-([], [])] 0.0002606030710043293 0.00024851886166863546 4.64% 4.86% 1.05x
is_encodable[(uint256,bool)-(42, True)] 0.00024824860196229757 0.0001986155635655419 19.99% 24.99% 1.25x
is_encodable[(uint256[],(string[],bool))-([1, 2, 3], (['a] 0.0006662013891660368 0.0005142473075998862 22.81% 29.55% 1.30x
is_encodable[(uint256[2],string)-([1, 2], 'baz')] 0.0003889359412266451 0.00029357136916749764 24.52% 32.48% 1.32x
is_encodable[(uint8,(bool,string))-(7, (False, 'hi'] 0.0003648310123940448 0.00033140850279558544 9.16% 10.08% 1.10x
is_encodable[(uint8[],string)-([], '')] 0.0002304080181306559 0.00021612247464652647 6.20% 6.61% 1.07x
is_encodable[(uint8[][],string)-([[]], '')] 0.00028314643110337974 0.00026462158027215914 6.54% 7.00% 1.07x
is_encodable[(uint8[2],(string,bool[2]))-([1, 2], ('x', [] 0.0005678773797768634 0.0005124587916417743 9.76% 10.81% 1.11x
is_encodable[(uint8[2][],string[])-([], [])] 0.0002643784007722031 0.00025009218046292693 5.40% 5.71% 1.06x
is_encodable[(uint8[2][2],(string[2],bool[2]))-([[1, 2], [3, 4]] 0.0008900559133705468 0.0007886331447699 11.40% 12.86% 1.13x
is_encodable[(uint8[2][2][],string[])-([], [])] 0.00026402792585390576 0.00024939699842739565 5.54% 5.87% 1.06x
is_encodable[(uint8[2][2][2],string)-([[[1, 2], [3, 4] 0.001007637780024349 0.0008288019477016226 17.75% 21.58% 1.22x
is_encodable[(uint8[2][2][2][2],string[2])-([[[[1, 2], [3, ] 0.001957982609052412 0.0016579879421067488 15.32% 18.09% 1.18x
is_encodable[(uint8[2][2][2][2][],string[])-([], [])] 0.0002622703170865641 0.00024803795216589956 5.43% 5.74% 1.06x
is_encodable[(uint8[2][2][2][2][2],string[2][2])-([[[[[1, 2], [3,] 0.0038697883760132755 0.0033071957601278528 14.54% 17.01% 1.17x
is_encodable[(uint8[3],(string[2],bool[2]))-([1, 2, 3], (['a] 0.0006942856125546705 0.0006129325418869687 11.72% 13.27% 1.13x
is_encodable[address-b'\\x00\\x00\\x00\\x] 0.00006373936612847778 0.000038971511163241295 38.86% 63.55% 1.64x
is_encodable[address-b'\\xff\\xff\\xff\\x] 0.00006450853197460914 0.000038826966531180236 39.81% 66.14% 1.66x
is_encodable[address[2]-[b'\\x00\\x00\\x00\\] 0.0001652866726207009 0.0001251588458959531 24.28% 32.06% 1.32x
is_encodable[bool-False] 0.000043443607274871805 0.000032239966894705876 25.79% 34.75% 1.35x
is_encodable[bool-True] 0.0000437325477048516 0.00003262733294139849 25.39% 34.04% 1.34x
is_encodable[bool[][2]-[[True, False], ] 0.00027264791711330885 0.00024053032066189773 11.78% 13.35% 1.13x
is_encodable[bool[4]-[True, False, Tr] 0.00015838112684948266 0.0001342163959832437 15.26% 18.00% 1.18x
is_encodable[bytes-b''] 0.000044677930758464374 0.00003684723164077139 17.53% 21.25% 1.21x
is_encodable[bytes-b'\\x00\\x00\\x00\\x0] 0.00004439265754590856 0.00003625703598931748 18.33% 22.44% 1.22x
is_encodable[bytes-b'\\x00\\x00\\x00\\x1] 0.00004512335624609615 0.00003722328785441145 17.51% 21.22% 1.21x
is_encodable[bytes-b'aaaaaaaaaaaaaa] 0.00004464229449542246 0.00003678569218698195 17.60% 21.36% 1.21x
is_encodable[bytes-b'hello world'] 0.00004487261959132936 0.00003667025979460375 18.28% 22.37% 1.22x
is_encodable[bytes[]-[]0] 0.00008329813343371297 0.00007906594214206517 5.08% 5.35% 1.05x
is_encodable[bytes[]-[]1] 0.00008358721100686664 0.00007929097948740364 5.14% 5.42% 1.05x
is_encodable[bytes[]-[b'abc', b'def',] 0.00012852338389968937 0.00012280348591651747 4.45% 4.66% 1.05x
is_encodable[bytes[10]-[b'\\x00\\x00\\x00\\] 0.00024812192134806795 0.00023048647191635077 7.11% 7.65% 1.08x
is_encodable[bytes[100]-[b'\\x00\\x00\\x00\\] 0.001592021172757956 0.0014300956764320108 10.17% 11.32% 1.11x
is_encodable[bytes1-b'\\x01'] 0.00004387304704467552 0.00004382179090569211 0.12% 0.12% 1.00x
is_encodable[bytes10-b'\\x01\\x01\\x01\\x] 0.000044139888259869005 0.00004416414835488256 -0.05% -0.05% 1.00x
is_encodable[bytes11-b'\\x01\\x01\\x01\\x] 0.00004490970300557431 0.000043662731435877696 2.78% 2.86% 1.03x
is_encodable[bytes12-b'\\x01\\x01\\x01\\x] 0.00004455099167297814 0.00004392828584474414 1.40% 1.42% 1.01x
is_encodable[bytes13-b'\\x01\\x01\\x01\\x] 0.000044175070806723816 0.000043578935149624826 1.35% 1.37% 1.01x
is_encodable[bytes14-b'\\x01\\x01\\x01\\x] 0.00004425719417887648 0.00004375542660163478 1.13% 1.15% 1.01x
is_encodable[bytes15-b'\\x01\\x01\\x01\\x] 0.00004435169479121022 0.00004354717801023301 1.81% 1.85% 1.02x
is_encodable[bytes16-b'\\x01\\x01\\x01\\x] 0.000044441532135350246 0.000043730316653129265 1.60% 1.63% 1.02x
is_encodable[bytes16[3]-[b'\\x01\\x01\\x01\\] 0.0001425561087196266 0.0001351501626695265 5.20% 5.48% 1.05x
is_encodable[bytes17-b'\\x01\\x01\\x01\\x] 0.00004415096042176703 0.000043507758915489854 1.46% 1.48% 1.01x
is_encodable[bytes18-b'\\x01\\x01\\x01\\x] 0.00004424511304458804 0.000043820744272191435 0.96% 0.97% 1.01x
is_encodable[bytes19-b'\\x01\\x01\\x01\\x] 0.00004418939285873216 0.00004414210352084531 0.11% 0.11% 1.00x
is_encodable[bytes2-b'\\x01\\x01'] 0.000044656169466893495 0.00004374408710687333 2.04% 2.09% 1.02x
is_encodable[bytes20-b'\\x01\\x01\\x01\\x] 0.00004447890123260382 0.000043835261083475636 1.45% 1.47% 1.01x
is_encodable[bytes21-b'\\x01\\x01\\x01\\x] 0.00004401994758841842 0.0000443061754821675 -0.65% -0.65% 0.99x
is_encodable[bytes22-b'\\x01\\x01\\x01\\x] 0.0000445757690978239 0.00004332709789077676 2.80% 2.88% 1.03x
is_encodable[bytes23-b'\\x01\\x01\\x01\\x] 0.000043961892097691 0.000043767284866369984 0.44% 0.44% 1.00x
is_encodable[bytes24-b'\\x01\\x01\\x01\\x] 0.000044690678813357786 0.00004406653538491685 1.40% 1.42% 1.01x
is_encodable[bytes25-b'\\x01\\x01\\x01\\x] 0.00004465789598680242 0.00004422238611337282 0.98% 0.98% 1.01x
is_encodable[bytes26-b'\\x01\\x01\\x01\\x] 0.000043228667199108394 0.000043807496588975286 -1.34% -1.32% 0.99x
is_encodable[bytes27-b'\\x01\\x01\\x01\\x] 0.00004352833173542226 0.0000441420293042143 -1.41% -1.39% 0.99x
is_encodable[bytes28-b'\\x01\\x01\\x01\\x] 0.00004334219692499049 0.00004441649940776475 -2.48% -2.42% 0.98x
is_encodable[bytes29-b'\\x01\\x01\\x01\\x] 0.00004324546485610335 0.00004371385398232661 -1.08% -1.07% 0.99x
is_encodable[bytes3-b'\\x01\\x01\\x01'] 0.000044610625331472965 0.000043240754379646755 3.07% 3.17% 1.03x
is_encodable[bytes30-b'\\x01\\x01\\x01\\x] 0.00004310595757243343 0.00004377874771610228 -1.56% -1.54% 0.98x
is_encodable[bytes31-b'\\x01\\x01\\x01\\x] 0.000043459494100061144 0.000043699406903797294 -0.55% -0.55% 0.99x
is_encodable[bytes32-b'\\x01\\x01\\x01\\x] 0.000043309730828765745 0.00004369912746280157 -0.90% -0.89% 0.99x
is_encodable[bytes32[2]-[b'\\x00\\x00\\x00\\] 0.00012795045728530952 0.00011980275875349779 6.37% 6.80% 1.07x
is_encodable[bytes4-b'\\x01\\x01\\x01\\x] 0.00004426183874448722 0.00004313616887298276 2.54% 2.61% 1.03x
is_encodable[bytes5-b'\\x01\\x01\\x01\\x] 0.00004405870463202498 0.000043862267136403704 0.45% 0.45% 1.00x
is_encodable[bytes6-b'\\x01\\x01\\x01\\x] 0.000044213404179288954 0.00004408715966708056 0.29% 0.29% 1.00x
is_encodable[bytes7-b'\\x01\\x01\\x01\\x] 0.00004453921713183361 0.0000442852810870648 0.57% 0.57% 1.01x
is_encodable[bytes8-b'\\x01\\x01\\x01\\x] 0.00004436867850224276 0.000043694451653105126 1.52% 1.54% 1.02x
is_encodable[bytes8[4]-[b'\\x01\\x01\\x01\\] 0.00015722564743252606 0.000149452577088457 4.94% 5.20% 1.05x
is_encodable[bytes9-b'\\x01\\x01\\x01\\x] 0.00004405959425146601 0.0000436523660393895 0.92% 0.93% 1.01x
is_encodable[fixed128x1-Decimal('1.2')] 0.0007128106106018391 0.0003753466092209069 47.34% 89.91% 1.90x
is_encodable[fixed128x10-Decimal('1.20000] 0.0007285003810576775 0.0003831913908848729 47.40% 90.11% 1.90x
is_encodable[fixed128x18-Decimal('1.20000] 0.0007269896830794446 0.00038417673309085155 47.16% 89.23% 1.89x
is_encodable[fixed128x2-Decimal('1.20')] 0.0007194820339237211 0.0003776801073524637 47.51% 90.50% 1.91x
is_encodable[fixed16x1-Decimal('1.2')] 0.000643201847355327 0.00037747842304635326 41.31% 70.39% 1.70x
is_encodable[fixed16x2-Decimal('1.20')] 0.0006478719873466338 0.0003761378611575911 41.94% 72.24% 1.72x
is_encodable[fixed256x1-Decimal('1.2')] 0.0007649258883469822 0.00037620656772497117 50.82% 103.33% 2.03x
is_encodable[fixed256x10-Decimal('1.20000] 0.0007745431562259398 0.0003821755954784938 50.66% 102.67% 2.03x
is_encodable[fixed256x18-Decimal('1.20000] 0.0007783878842746256 0.0003855752328842201 50.46% 101.88% 2.02x
is_encodable[fixed256x2-Decimal('1.20')] 0.0007683970985828338 0.0003755834696561393 51.12% 104.59% 2.05x
is_encodable[fixed32x1-Decimal('1.2')] 0.0006694706673727917 0.0003751719753574835 43.96% 78.44% 1.78x
is_encodable[fixed32x2-Decimal('1.20')] 0.0006704329665979043 0.0003786449553959493 43.52% 77.06% 1.77x
is_encodable[fixed32x2[]-[]0] 0.00008288172183846843 0.00007968883460556206 3.85% 4.01% 1.04x
is_encodable[fixed32x2[]-[]1] 0.00008619899760169926 0.00007879358686600203 8.59% 9.40% 1.09x
is_encodable[fixed32x2[2]-[Decimal('3.14')] 0.0013704752983984237 0.0007963004279456596 41.90% 72.11% 1.72x
is_encodable[fixed64x1-Decimal('1.2')] 0.0006869789756277885 0.0003757321478748581 45.31% 82.84% 1.83x
is_encodable[fixed64x10-Decimal('1.20000] 0.0006993127786065769 0.00038117393683881524 45.49% 83.46% 1.83x
is_encodable[fixed64x18-Decimal('1.20000] 0.0007056352334065835 0.0003834937019212758 45.65% 84.00% 1.84x
is_encodable[fixed64x2-Decimal('1.20')] 0.0006872695939670808 0.00037584992781516285 45.31% 82.86% 1.83x
is_encodable[fixed8x1-Decimal('1.2')] 0.0006295694695151333 0.0003781471211351783 39.94% 66.49% 1.66x
is_encodable[fixed8x2-Decimal('1.20')] 0.0006321683715778453 0.0003766873907221572 40.41% 67.82% 1.68x
is_encodable[function-b'\\x00\\x00\\x00\\x] 0.000043784305458459063 0.000044331763993567994 -1.25% -1.23% 0.99x
is_encodable[function-b'\\x01\\x01\\x01\\x] 0.00004359821231234163 0.000044282714081207014 -1.57% -1.55% 0.98x
is_encodable[function-b'\\xff\\xff\\xff\\x] 0.000043183932499203346 0.00004469271242989315 -3.49% -3.38% 0.97x
is_encodable[int128--170141183460469] 0.000141807956540541 0.00006274631988678293 55.75% 126.00% 2.26x
is_encodable[int128-1701411834604692] 0.0001422115365346948 0.00006228013014988676 56.21% 128.34% 2.28x
is_encodable[int16--32768] 0.00008836697972547929 0.00006247455223182887 29.30% 41.44% 1.41x
is_encodable[int16-32767] 0.0000879032627692824 0.00006221669249149431 29.22% 41.29% 1.41x
is_encodable[int256--578960446186580] 0.00016068819705104907 0.00006160459424260409 61.66% 160.84% 2.61x
is_encodable[int256-5789604461865809] 0.00016253254718605708 0.00006192000476473536 61.90% 162.49% 2.62x
is_encodable[int32--2147483648] 0.00010941468105928863 0.0000676818924633011 38.14% 61.66% 1.62x
is_encodable[int32-2147483647] 0.00010865200982565979 0.00006677592975796163 38.54% 62.71% 1.63x
is_encodable[int64--922337203685477] 0.00012532927233618318 0.00006285756325213913 49.85% 99.39% 1.99x
is_encodable[int64-9223372036854775] 0.00012618134730885643 0.00006251740279054679 50.45% 101.83% 2.02x
is_encodable[int8--128] 0.00007808814484572146 0.000060634179962445935 22.35% 28.79% 1.29x
is_encodable[int8-127] 0.00007699030261544501 0.000059652994715097737 22.52% 29.06% 1.29x
is_encodable[string-''] 0.000045082822187274866 0.00003235193247736892 28.24% 39.35% 1.39x
is_encodable[string-'\U0001d518\U0001d52b\U0001d526\U0001d520\U0001d52c\U0001d521\U0001d522'] 0.00004457923826353103 0.0000323512392143616 27.43% 37.80% 1.38x
is_encodable[string-'aaaaaaaaaaaaaaa0] 0.000044648493990316036 0.00003196154706932549 28.42% 39.69% 1.40x
is_encodable[string-'aaaaaaaaaaaaaaa1] 0.000044508678703475414 0.00003263796747899733 26.67% 36.37% 1.36x
is_encodable[string-'bbbbbbbbbbbbbbb] 0.000044233639526811975 0.000032274132719727125 27.04% 37.06% 1.37x
is_encodable[string-'hello world'] 0.000044811073239950835 0.00003220627179697422 28.13% 39.14% 1.39x
is_encodable[string[]-['a', 'b', 'c']] 0.0001333399902178295 0.00011285011448427723 15.37% 18.16% 1.18x
is_encodable[string[]-[]0] 0.00008374165078800267 0.00008003309620638263 4.43% 4.63% 1.05x
is_encodable[string[]-[]1] 0.0000849514079133407 0.00007970071667836615 6.18% 6.59% 1.07x
is_encodable[string[10]-['0', '1', '2', ] 0.0002476655307645169 0.00019553853220066072 21.05% 26.66% 1.27x
is_encodable[string[2]-['foo', 'bar']] 0.00012883429971765443 0.00011428600616204858 11.29% 12.73% 1.13x
is_encodable[string[5]-['a', 'b', 'c', ] 0.00017274984292389885 0.0001448689290619218 16.14% 19.25% 1.19x
is_encodable[ufixed128x1-Decimal('1.2')] 0.00062373380242455 0.00037431828097025087 39.99% 66.63% 1.67x
is_encodable[ufixed128x10-Decimal('1.20000] 0.0006352582566174367 0.00038423727341865653 39.51% 65.33% 1.65x
is_encodable[ufixed128x18-Decimal('1.20000] 0.0006397588905603259 0.00038173074709843216 40.33% 67.59% 1.68x
is_encodable[ufixed128x2-Decimal('1.20')] 0.0006275019748296027 0.00037694036864850894 39.93% 66.47% 1.66x
is_encodable[ufixed16x1-Decimal('1.2')] 0.0005981414141731364 0.00037472372784203104 37.35% 59.62% 1.60x
is_encodable[ufixed16x2-Decimal('1.20')] 0.0006018668411623735 0.0003735450853510146 37.94% 61.12% 1.61x
is_encodable[ufixed256x1-Decimal('1.2')] 0.0006471865641067254 0.0003718576442419542 42.54% 74.04% 1.74x
is_encodable[ufixed256x10-Decimal('1.20000] 0.0006611277127637762 0.00038703114641882555 41.46% 70.82% 1.71x
is_encodable[ufixed256x18-Decimal('1.20000] 0.0006634545095119154 0.0003816393557509594 42.48% 73.84% 1.74x
is_encodable[ufixed256x2-Decimal('1.20')] 0.0006483663660751341 0.00037430827957977514 42.27% 73.22% 1.73x
is_encodable[ufixed32x1-Decimal('1.2')] 0.0006071114268746721 0.00037476380291274174 38.27% 62.00% 1.62x
is_encodable[ufixed32x2-Decimal('1.20')] 0.0006088800982434083 0.00038003714246089644 37.58% 60.22% 1.60x
is_encodable[ufixed64x1-Decimal('1.2')] 0.0006121600785898484 0.00037396521687353104 38.91% 63.69% 1.64x
is_encodable[ufixed64x10-Decimal('1.20000] 0.0006305384869593341 0.0003798135663914216 39.76% 66.01% 1.66x
is_encodable[ufixed64x18-Decimal('1.20000] 0.0006333246065543636 0.0003846298313855986 39.27% 64.66% 1.65x
is_encodable[ufixed64x2-Decimal('1.20')] 0.0006161622567836676 0.0003755005140646084 39.06% 64.09% 1.64x
is_encodable[ufixed8x1-Decimal('1.2')] 0.0005941604215865756 0.000375361176750152 36.82% 58.29% 1.58x
is_encodable[ufixed8x2-Decimal('1.20')] 0.0005951213400877846 0.00037685260246667264 36.68% 57.92% 1.58x
is_encodable[uint128-3402823669209384] 0.00009256994750972381 0.00006158742894936164 33.47% 50.31% 1.50x
is_encodable[uint16-65535] 0.00007548342720046724 0.00006014705507107706 20.32% 25.50% 1.25x
is_encodable[uint256-0] 0.00009715417618185404 0.00006051365683899703 37.71% 60.55% 1.61x
is_encodable[uint256-1157920892373161] 0.00009960447014712951 0.00006145955402103232 38.30% 62.07% 1.62x
is_encodable[uint256[2]-[0, 115792089237] 0.0002370169055137038 0.0001578279588081669 33.41% 50.17% 1.50x
is_encodable[uint256[2][2]-[[1, 2], [3, 4]]] 0.0005140106491234853 0.00035457133068288123 31.02% 44.97% 1.45x
is_encodable[uint32-4294967295] 0.00008029596603955052 0.00006462323610366567 19.52% 24.25% 1.24x
is_encodable[uint64-1844674407370955] 0.00008742815583072455 0.00006170866518060359 29.42% 41.68% 1.42x
is_encodable[uint8-0] 0.00006919418222039177 0.00005782309707930402 16.43% 19.67% 1.20x
is_encodable[uint8-255] 0.00006985522783360234 0.00005807662921456487 16.86% 20.28% 1.20x
is_encodable[uint8[]-[]0] 0.00008302642217264304 0.00007834422050283945 5.64% 5.98% 1.06x
is_encodable[uint8[]-[]1] 0.00008347870501338178 0.00007852702898998534 5.93% 6.31% 1.06x
is_encodable[uint8[]-[1, 2, 3, 4, 5]] 0.00028328662784295037 0.00021691047656012348 23.43% 30.60% 1.31x
is_encodable[uint8[][]-[[]]] 0.00013647746353136246 0.00012841470527505343 5.91% 6.28% 1.06x
is_encodable[uint8[10]-[0, 1, 2, 3, 4, ] 0.0004780782529690842 0.0003517012730440877 26.43% 35.93% 1.36x
is_encodable[uint8[100]-[0, 1, 2, 3, 4, ] 0.003820049648012173 0.0025746733377628333 32.60% 48.37% 1.48x
is_encodable[uint8[2][]-[]] 0.00008408280403551384 0.00007959362724787618 5.34% 5.64% 1.06x
is_encodable[uint8[2][2][]-[]] 0.0000833123083327605 0.00007929340596465882 4.82% 5.07% 1.05x
is_encodable[uint8[3]-[1, 2, 3]] 0.00021595591649510457 0.00017229044599524696 20.22% 25.34% 1.25x

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.0016656723653814065 0.0006852516783272469 58.86% 143.07% 2.43x
address_decoder[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01] 0.0016493087904420384 0.00069357070646982 57.95% 137.80% 2.38x
address_decoder[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02] 0.0016472562592028364 0.0006844908316703723 58.45% 140.65% 2.41x
address_decoder[\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x00] 0.0016518941857088163 0.0006831174886952001 58.65% 141.82% 2.42x
address_decoder[\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01] 0.0016653936784480434 0.0006847308092175895 58.88% 143.22% 2.43x
address_decoder[\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12] 0.0016576114964177626 0.0006823382266051664 58.84% 142.93% 2.43x
address_decoder[\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff] 0.0016586406678344393 0.0006967472108354857 57.99% 138.05% 2.38x
boolean_decoder[False] 0.0008571284857395108 0.000392063220258204 54.26% 118.62% 2.19x
boolean_decoder[True] 0.0008620879548089988 0.0003935774667522568 54.35% 119.04% 2.19x
bytes32_decoder[b''] 0.0008529074412023759 0.0003976404207219733 53.38% 114.49% 2.14x
bytes32_decoder[b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'] 0.0008510040100844949 0.0003954377091608448 53.53% 115.21% 2.15x
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.0008438133860806667 0.00039536076846628446 53.15% 113.43% 2.13x
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.0008522985068205388 0.0003954150407996259 53.61% 115.55% 2.16x
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.0008494102021681322 0.0003978757624898519 53.16% 113.49% 2.13x
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.0008527566442673289 0.0003986082660259174 53.26% 113.93% 2.14x
bytes32_decoder[b'abcabcabcabcabcabcabcabcabcabcde'] 0.0008519417493133626 0.00039777998388665 53.31% 114.17% 2.14x
string_decoder['a' * 256] 0.0013819474408333897 0.0007013969165409338 49.25% 97.03% 1.97x
string_decoder['b' * 1024] 0.0014223739298810825 0.000739845127268004 47.99% 92.25% 1.92x
string_decoder['c' * 4096] 0.0014758734513673573 0.0007814724439779457 47.05% 88.86% 1.89x
string_decoder['d' * 8192] 0.001522477056540271 0.0008412915692741752 44.74% 80.97% 1.81x
string_decoder['e' * 16384] 0.0017033352486497343 0.0009718594200433616 42.94% 75.27% 1.75x
string_decoder['f' * 32768] 0.002034445245239647 0.0012325634060463794 39.42% 65.06% 1.65x
string_decoder['g' * 65536] 0.002415528737683771 0.0017567354139093648 27.27% 37.50% 1.38x
string_decoder[empty] 0.0013691973885526846 0.0006848920431848731 49.98% 99.91% 2.00x
string_decoder[hello-world] 0.0013987179599954053 0.0006977233904238651 50.12% 100.47% 2.00x
string_decoder[newline] 0.0013867055911200791 0.0007003744939631873 49.49% 97.99% 1.98x
string_decoder[null-byte] 0.0013764583880727112 0.0006918493754646414 49.74% 98.95% 1.99x
string_decoder[unicode] 0.0014094810757610916 0.0007237771371018335 48.65% 94.74% 1.95x
string_decoder[very-long] 0.00303484230670483 0.0022015090324042897 27.46% 37.85% 1.38x
tuple_decoder[addr-uint8] 0.002142546081791322 0.0009571586711436985 55.33% 123.84% 2.24x
tuple_decoder[arrs] 0.002602210730020731 0.0014519070541757664 44.20% 79.23% 1.79x
tuple_decoder[bytes-string] 0.0017602963773517227 0.0009293121127027427 47.21% 89.42% 1.89x
tuple_decoder[bytes32s-strings] 0.0035373810479839823 0.002104847232971184 40.50% 68.06% 1.68x
tuple_decoder[int-bool-string] 0.002447727139541799 0.0013523146262661985 44.75% 81.00% 1.81x
tuple_decoder[int-bool] 0.001268937965425877 0.0006417111361627884 49.43% 97.74% 1.98x
uint256_decoder[0] 0.000896914677186521 0.000433454405849498 51.67% 106.92% 2.07x
uint256_decoder[1] 0.0008967165880718246 0.0004338269001884904 51.62% 106.70% 2.07x
uint256_decoder[115792089237316195423570985008687907853269984665640564039457584007913129639935] 0.0009053818825224562 0.0004416783712421244 51.22% 104.99% 2.05x
uint256_decoder[12345678901234567890] 0.0008931861576437002 0.0004390633597021778 50.84% 103.43% 2.03x
uint256_decoder[18446744073709551616] 0.0008945401811150476 0.0004377928297366435 51.06% 104.33% 2.04x
uint256_decoder[340282366920938463463374607431768211456] 0.0009044407173255374 0.000435515328872997 51.85% 107.67% 2.08x
uint256_decoder[42] 0.0008945998466649707 0.00043366987986801327 51.52% 106.29% 2.06x
uint256_decoder[4294967296] 0.000899445081655912 0.00044301802125367384 50.75% 103.03% 2.03x
uint256_decoder[57896044618658097711785492504343953926634992332820282019728792003956564819967] 0.0009011589013524646 0.00044041395736724187 51.13% 104.62% 2.05x
uint256_decoder[57896044618658097711785492504343953926634992332820282019728792003956564819968] 0.0008985873380232745 0.00044327645649064383 50.67% 102.71% 2.03x
uint256_decoder[65536] 0.0008966522530519894 0.0004377700536875167 51.18% 104.82% 2.05x
uint256_decoder[999999999999999999999999999999] 0.0009014021332745761 0.00043581829354065867 51.65% 106.83% 2.07x

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.0012371984000033411 0.0004258658917198352 65.58% 190.51% 2.91x
address_encoder[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01] 0.0012590804930353704 0.00043070296268619566 65.79% 192.33% 2.92x
address_encoder[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02] 0.0012181643512621256 0.00042835393803629867 64.84% 184.38% 2.84x
address_encoder[\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x00] 0.0012398795721969326 0.00043090867528548283 65.25% 187.74% 2.88x
address_encoder[\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01] 0.0012170508664880156 0.00042614019011861224 64.99% 185.60% 2.86x
address_encoder[\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12] 0.001217960642030677 0.00042619318518217743 65.01% 185.78% 2.86x
address_encoder[\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff] 0.0012248749844103884 0.00043007306366972737 64.89% 184.81% 2.85x
boolean_encoder[False] 0.0007084180023062989 0.000254730926823751 64.04% 178.10% 2.78x
boolean_encoder[True] 0.0007161918297129435 0.0002542473088767022 64.50% 181.69% 2.82x
bytes32_encoder[] 0.000716535872551268 0.00026093142327377513 63.58% 174.61% 2.75x
bytes32_encoder[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00] 0.0007004500681254868 0.00025972311722749936 62.92% 169.69% 2.70x
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.0006926166619476403 0.0002514599476962975 63.69% 175.44% 2.75x
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.0006908283587502252 0.00025202233394207746 63.52% 174.11% 2.74x
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.0006921750724882662 0.0002526224629075486 63.50% 174.00% 2.74x
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.000694125203701198 0.0002512840950701446 63.80% 176.23% 2.76x
bytes32_encoder[abcabcabcabcabcabcabcabcabcabcde] 0.0007065802247365649 0.0002520744158171428 64.32% 180.31% 2.80x
string_encoder['a' * 256] 0.0010921045895565893 0.000415922566194517 61.92% 162.57% 2.63x
string_encoder['b' * 1024] 0.0011478404233072695 0.00045718116868125145 60.17% 151.07% 2.51x
string_encoder['c' * 4096] 0.0011746526427599928 0.00047260842733453756 59.77% 148.55% 2.49x
string_encoder['d' * 8192] 0.0011970731836060732 0.0004975580457441259 58.44% 140.59% 2.41x
string_encoder['e' * 16384] 0.001313253548573162 0.0005787182380435927 55.93% 126.92% 2.27x
string_encoder['f' * 32768] 0.001489163131286534 0.0007989609043683915 46.35% 86.39% 1.86x
string_encoder['g' * 65536] 0.0020287244416055967 0.0012966703184240957 36.08% 56.46% 1.56x
string_encoder[empty] 0.001090078884845394 0.0004083690453612433 62.54% 166.93% 2.67x
string_encoder[hello-world] 0.0011036531530394143 0.0004164755657704549 62.26% 165.00% 2.65x
string_encoder[newline] 0.0010896328642681706 0.00041518280353926117 61.90% 162.45% 2.62x
string_encoder[null-byte] 0.001103462124703904 0.00041062588064456743 62.79% 168.73% 2.69x
string_encoder[unicode] 0.0011050180535552314 0.0004222336484383755 61.79% 161.71% 2.62x
string_encoder[very-long] 0.0020973461995189542 0.0013182726864872042 37.15% 59.10% 1.59x
tuple_encoder[addr-uint8] 0.0015209744573309448 0.000590417344055811 61.18% 157.61% 2.58x
tuple_encoder[arrs] 0.002080749944696484 0.0009096533610262372 56.28% 128.74% 2.29x
tuple_encoder[bytes-string] 0.0012873134129776295 0.0005268988075755505 59.07% 144.32% 2.44x
tuple_encoder[bytes32s-strings] 0.0028552515230820482 0.0011068035596638946 61.24% 157.97% 2.58x
tuple_encoder[int-bool-string] 0.0018600049372440373 0.0007311641478580708 60.69% 154.39% 2.54x
tuple_encoder[int-bool] 0.0010195002756048497 0.0004137065112435456 59.42% 146.43% 2.46x
uint256_encoder[0] 0.0008449570347145481 0.0003134503253064411 62.90% 169.57% 2.70x
uint256_encoder[1] 0.0008414670270233294 0.0003152829332475613 62.53% 166.89% 2.67x
uint256_encoder[115792089237316195423570985008687907853269984665640564039457584007913129639935] 0.0008645349390074455 0.0003186660662408345 63.14% 171.30% 2.71x
uint256_encoder[12345678901234567890] 0.00086219586980371 0.0003168282199422615 63.25% 172.13% 2.72x
uint256_encoder[18446744073709551616] 0.0008543985526081696 0.0003177022579569028 62.82% 168.93% 2.69x
uint256_encoder[340282366920938463463374607431768211456] 0.0008528996270483062 0.0003164568074161551 62.90% 169.52% 2.70x
uint256_encoder[42] 0.0008459479847493281 0.0003127018772963596 63.04% 170.53% 2.71x
uint256_encoder[4294967296] 0.0008581225399597781 0.0003199882890101383 62.71% 168.17% 2.68x
uint256_encoder[57896044618658097711785492504343953926634992332820282019728792003956564819967] 0.000850794921951607 0.00031499425842985176 62.98% 170.10% 2.70x
uint256_encoder[57896044618658097711785492504343953926634992332820282019728792003956564819968] 0.0008566205455366623 0.00031517430181924856 63.21% 171.79% 2.72x
uint256_encoder[65536] 0.0008456019618502279 0.0003184499511411659 62.34% 165.54% 2.66x
uint256_encoder[999999999999999999999999999999] 0.0008621360640265103 0.0003154563594007156 63.41% 173.30% 2.73x

faster_eth_abi.grammar - view benchmarks

Function Reference Mean Faster Mean % Change Speedup (%) x Faster Faster
normalize[((uint8,uint8),uint8)] 0.0046951939074043976 0.004149490317076481 11.62% 13.15% 1.13x
normalize[((uint8[2],(string,bool)),bytes32)] 0.006047408578957955 0.005232257335056597 13.48% 15.58% 1.16x
normalize[(address,uint8)] 0.0036012080569284553 0.0029499334615520744 18.08% 22.08% 1.22x
normalize[(string,bytes)] 0.003444517706890926 0.0028704168103274043 16.67% 20.00% 1.20x
normalize[(uint256,bool)] 0.0036006441571430512 0.0029649257117612517 17.66% 21.44% 1.21x
normalize[(uint256[],(string[],bool))] 0.00498132414926052 0.00441488109210073 11.37% 12.83% 1.13x
normalize[(uint256[2],string)] 0.004212993408327747 0.0035523578861335614 15.68% 18.60% 1.19x
normalize[(uint8,(bool,string))] 0.004331221073900214 0.003875068451133528 10.53% 11.77% 1.12x
normalize[(uint8[2],(string,bool[2]))] 0.005270809730164829 0.004727299797176577 10.31% 11.50% 1.11x
normalize[(uint8[2][2],(string[2],bool[2]))] 0.006291563018749002 0.005883347306812745 6.49% 6.94% 1.07x
normalize[address] 0.002726396681192041 0.0019704538707860115 27.73% 38.36% 1.38x
normalize[bool] 0.0025227070481021285 0.0018340636179063235 27.30% 37.55% 1.38x
normalize[bytes] 0.0025509478209711895 0.0019555167597617995 23.34% 30.45% 1.30x
normalize[bytes32] 0.002848135473090657 0.0021214230276020815 25.52% 34.26% 1.34x
normalize[fixed128x18] 0.0030168197009046147 0.0024614602463282984 18.41% 22.56% 1.23x
normalize[int8] 0.002656400335110969 0.001948740719040059 26.64% 36.31% 1.36x
normalize[string[]] 0.0027929882428699266 0.0021771148030243887 22.05% 28.29% 1.28x
normalize[string] 0.002647617418022273 0.0018969485632063098 28.35% 39.57% 1.40x
normalize[ufixed128x18] 0.0031292232631508214 0.002563963020462962 18.06% 22.05% 1.22x
normalize[uint256[2]] 0.003305826695643714 0.0026903632198490225 18.62% 22.88% 1.23x
normalize[uint256] 0.002910508840119651 0.002163394376086968 25.67% 34.53% 1.35x
normalize[uint8[]] 0.0028728093400548233 0.0023003650092213307 19.93% 24.88% 1.25x
parse[((uint8,uint8),uint8)] 0.0004965968554702497 0.0004993853350799995 -0.56% -0.56% 0.99x
parse[((uint8[2],(string,bool)),bytes32)] 0.00047188766401660677 0.00048650744284514365 -3.10% -3.01% 0.97x
parse[(address,uint8)] 0.00045528565810825375 0.00044546464500202164 2.16% 2.20% 1.02x
parse[(string,bytes)] 0.0004803548995126078 0.0004797673519180275 0.12% 0.12% 1.00x
parse[(uint256,bool)] 0.00044991226852087655 0.0004450831082409717 1.07% 1.09% 1.01x
parse[(uint256[],(string[],bool))] 0.0004751432493934145 0.00047937143432080076 -0.89% -0.88% 0.99x
parse[(uint256[2],string)] 0.00045316992480375035 0.0004483701366982566 1.06% 1.07% 1.01x
parse[(uint8,(bool,string))] 0.000448669220237132 0.0004534539925640227 -1.07% -1.06% 0.99x
parse[(uint8[2],(string,bool[2]))] 0.0004486240557083704 0.0004501352863506791 -0.34% -0.34% 1.00x
parse[(uint8[2][2],(string[2],bool[2]))] 0.0004444128729132455 0.0004518426909645315 -1.67% -1.64% 0.98x
parse[address] 0.00043750542754864474 0.0004432360713676827 -1.31% -1.29% 0.99x
parse[bool] 0.00043996769896013536 0.0004434663189760851 -0.80% -0.79% 0.99x
parse[bytes] 0.00044816849262338196 0.0004521012008928926 -0.88% -0.87% 0.99x
parse[bytes32] 0.0004456834760408178 0.0004525409283150352 -1.54% -1.52% 0.98x
parse[fixed128x18] 0.00044466757110554566 0.0004546708846498595 -2.25% -2.20% 0.98x
parse[int8] 0.000431739561409777 0.0004482967752013091 -3.84% -3.69% 0.96x
parse[string[]] 0.00047885600000318495 0.00048012855697452116 -0.27% -0.27% 1.00x
parse[string] 0.00043548039594937244 0.00044905559889397403 -3.12% -3.02% 0.97x
parse[ufixed128x18] 0.0004659544767907623 0.00047358997110814166 -1.64% -1.61% 0.98x
parse[uint256[2]] 0.0004549556460745311 0.0004496652668534558 1.16% 1.18% 1.01x
parse[uint256] 0.00043684118618215854 0.00044141053870556734 -1.05% -1.04% 0.99x
parse[uint8[]] 0.00044767730351127026 0.00044793518225918236 -0.06% -0.06% 1.00x

faster_eth_abi.io - view benchmarks

Function Reference Mean Faster Mean % Change Speedup (%) x Faster Faster
contextframesbytesio_init[0] 0.0006903202096789013 0.0006260297747608048 9.31% 10.27% 1.10x
contextframesbytesio_init[1024] 0.0006854096333044565 0.0006244478954111429 8.89% 9.76% 1.10x
contextframesbytesio_init[32] 0.0006926865231415511 0.0006175796835111547 10.84% 12.16% 1.12x
contextframesbytesio_init[4096] 0.000686646340694752 0.0006232309700380079 9.24% 10.18% 1.10x
contextframesbytesio_init[65536] 0.000681633764045488 0.0006254090852169451 8.25% 8.99% 1.09x
contextframesbytesio_push_pop[1] 0.00012559681240405322 0.0001167818455126224 7.02% 7.55% 1.08x
contextframesbytesio_push_pop[10] 0.0010363406218169662 0.0009991947917049593 3.58% 3.72% 1.04x
contextframesbytesio_push_pop[5] 0.0005086131108215549 0.0004954121279319213 2.60% 2.66% 1.03x
contextframesbytesio_push_pop[50] 0.005195074764411516 0.005155435670118451 0.76% 0.77% 1.01x
contextframesbytesio_seek_in_frame[1] 0.000055830258256947206 0.00005631707006246292 -0.87% -0.86% 0.99x
contextframesbytesio_seek_in_frame[10] 0.00043629379875966174 0.00043882251550110774 -0.58% -0.58% 0.99x
contextframesbytesio_seek_in_frame[5] 0.0001992785866018365 0.00019948845761664054 -0.11% -0.11% 1.00x
contextframesbytesio_seek_in_frame[50] 0.002066442530033502 0.002080047447476937 -0.66% -0.65% 0.99x

faster_eth_abi.packed - view benchmarks

Function Reference Mean Faster Mean % Change Speedup (%) x Faster Faster
encode_packed[address] 0.0012209837862039799 0.0004207978820532168 65.54% 190.16% 2.90x
encode_packed[bool] 0.0007039029824766797 0.0002472627110807247 64.87% 184.68% 2.85x
encode_packed[bytes] 0.0006553815837037801 0.000236999372420612 63.84% 176.53% 2.77x
encode_packed[string] 0.0006952115883263982 0.000265735505404615 61.78% 161.62% 2.62x
encode_packed[tuple] 0.0016430516905209139 0.0007766206624450312 52.73% 111.56% 2.12x
encode_packed[uint256] 0.0008372413333324486 0.00032059426171152225 61.71% 161.15% 2.61x
is_encodable_packed[address] 0.00006438196470616336 0.000038805485396841494 39.73% 65.91% 1.66x
is_encodable_packed[bool] 0.00004513229389233516 0.000032600733240488 27.77% 38.44% 1.38x
is_encodable_packed[bytes] 0.00004432492504646886 0.00003668119868085662 17.24% 20.84% 1.21x
is_encodable_packed[string] 0.000044256439583129945 0.00003246248184095298 26.65% 36.33% 1.36x
is_encodable_packed[tuple] 0.0002497067692524492 0.00019819918876246313 20.63% 25.99% 1.26x
is_encodable_packed[uint256] 0.00009808231144563168 0.000060890904991467096 37.92% 61.08% 1.61x

faster_eth_abi.registry - view benchmarks

Function Reference Mean Faster Mean % Change Speedup (%) x Faster Faster
get_decoder[((uint8,uint8),uint8)] 0.00008038006714247368 0.00007961704355998198 0.95% 0.96% 1.01x
get_decoder[((uint8[2],(string,bool)),bytes32)] 0.00008048176699128397 0.00007869019702363644 2.23% 2.28% 1.02x
get_decoder[(address,uint8)] 0.00007982355025890905 0.00007996843646498863 -0.18% -0.18% 1.00x
get_decoder[(string,bytes)] 0.00007905947338040233 0.00008215473988631671 -3.92% -3.77% 0.96x
get_decoder[(uint256,bool)] 0.00007969630095723754 0.000080804312364465 -1.39% -1.37% 0.99x
get_decoder[(uint256[],(string[],bool))] 0.00007969954683777944 0.0000810375316187254 -1.68% -1.65% 0.98x
get_decoder[(uint256[2],string)] 0.00007794453442472321 0.00008205148691410995 -5.27% -5.01% 0.95x
get_decoder[(uint8,(bool,string))] 0.00007858280562403209 0.00007814724034075824 0.55% 0.56% 1.01x
get_decoder[(uint8[2],(string,bool[2]))] 0.00007803164441745691 0.00007884879585479269 -1.05% -1.04% 0.99x
get_decoder[(uint8[2][2],(string[2],bool[2]))] 0.00010133476749389438 0.00010271492830855814 -1.36% -1.34% 0.99x
get_decoder[address] 0.00010232544848268988 0.00010158190962637184 0.73% 0.73% 1.01x
get_decoder[bool] 0.0000991623668686219 0.00010189777286631483 -2.76% -2.68% 0.97x
get_decoder[bytes] 0.00009913875851899189 0.0001003062930130166 -1.18% -1.16% 0.99x
get_decoder[bytes32] 0.00010128232906869154 0.0001000867643451458 1.18% 1.19% 1.01x
get_decoder[fixed128x18] 0.00007924336195550454 0.00007886152780496018 0.48% 0.48% 1.00x
get_decoder[int8] 0.00007842698562336504 0.00007887170426923264 -0.57% -0.56% 0.99x
get_decoder[string[]] 0.00010006521964192526 0.00010115804001054813 -1.09% -1.08% 0.99x
get_decoder[string] 0.00010214044990830627 0.00010025842048125325 1.84% 1.88% 1.02x
get_decoder[ufixed128x18] 0.00007777669721226279 0.00008365693055748361 -7.56% -7.03% 0.93x
get_decoder[uint256[2]] 0.00010049566746394381 0.00010142989222464405 -0.93% -0.92% 0.99x
get_decoder[uint256] 0.00010135528768461018 0.0000998647985946071 1.47% 1.49% 1.01x
get_decoder[uint8[]] 0.00010391552480043496 0.00010113268383752546 2.68% 2.75% 1.03x
get_encoder[((uint8,uint8),uint8)] 0.00009679245084050519 0.00009679593549266804 -0.00% -0.00% 1.00x
get_encoder[((uint8[2],(string,bool)),bytes32)] 0.00009324838510285866 0.00009342751481166766 -0.19% -0.19% 1.00x
get_encoder[(address,uint8)] 0.00008718573468564335 0.00008827724097106825 -1.25% -1.24% 0.99x
get_encoder[(string,bytes)] 0.00009386420800027717 0.00009245636578708328 1.50% 1.52% 1.02x
get_encoder[(uint256,bool)] 0.00008927260661032466 0.00008854657475084139 0.81% 0.82% 1.01x
get_encoder[(uint256[],(string[],bool))] 0.00009173583420717505 0.00009293739793221169 -1.31% -1.29% 0.99x
get_encoder[(uint256[2],string)] 0.00008838486791714972 0.00008579528931917874 2.93% 3.02% 1.03x
get_encoder[(uint8,(bool,string))] 0.00008772536561909661 0.00008662286349187703 1.26% 1.27% 1.01x
get_encoder[(uint8[2],(string,bool[2]))] 0.00008721653607939823 0.00008770031124708186 -0.55% -0.55% 0.99x
get_encoder[(uint8[2][2],(string[2],bool[2]))] 0.00008781980019356903 0.00008751098217800453 0.35% 0.35% 1.00x
get_encoder[address] 0.00008530630472595943 0.00008515280988821715 0.18% 0.18% 1.00x
get_encoder[bool] 0.00008515501106719686 0.00008411144548756029 1.23% 1.24% 1.01x
get_encoder[bytes] 0.0000841465076997774 0.0000866297944965791 -2.95% -2.87% 0.97x
get_encoder[bytes32] 0.0000867256269043415 0.00008763414774081011 -1.05% -1.04% 0.99x
get_encoder[fixed128x18] 0.00008698680115509616 0.00008851875890429373 -1.76% -1.73% 0.98x
get_encoder[int8] 0.00008505730472894495 0.00008449124016979172 0.67% 0.67% 1.01x
get_encoder[string[]] 0.00009304414065187769 0.00009372760437618319 -0.73% -0.73% 0.99x
get_encoder[string] 0.00008442728977201091 0.00008429032399615907 0.16% 0.16% 1.00x
get_encoder[ufixed128x18] 0.00008982110072406856 0.00009000217008155383 -0.20% -0.20% 1.00x
get_encoder[uint256[2]] 0.00008672298485094095 0.00008776406038930706 -1.20% -1.19% 0.99x
get_encoder[uint256] 0.00008433689319287879 0.0000845617515740045 -0.27% -0.27% 1.00x
get_encoder[uint8[]] 0.00008762764755538881 0.00008630058946139582 1.51% 1.54% 1.02x

@github-actions
Copy link

github-actions bot commented Oct 8, 2025

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.004556882283012791 0.002972449683078804 34.77% 53.30% 1.53x
decode[((uint8[2],(string,bool)),bytes32)-(([1, 2], ('hi',] 0.004896118944156332 0.0028074666934489166 42.66% 74.40% 1.74x
decode[((uint8[2][2],(string[2],bool[2])),bytes32[2])-(([[1, 2], [3, 4] 0.008700920053096509 0.005053930048382094 41.91% 72.16% 1.72x
decode[(address,uint8)-(b'\\x00\\x00\\x00\\] 0.0038123954758104203 0.0019054187363103452 50.02% 100.08% 2.00x
decode[(bytes[],string[])-([], [])] 0.0028576854006118727 0.0015837630051474018 44.58% 80.44% 1.80x
decode[(bytes1,bytes2,bytes3,bytes4)-(b'\\x01', b'\\x01] 0.002924611246918557 0.0018503079840290289 36.73% 58.06% 1.58x
decode[(bytes32[],string[])-([b'\\x00\\x00\\x00] 0.00466605012999878 0.002731680057228821 41.46% 70.81% 1.71x
decode[(fixed32x2,uint8)-(Decimal('3.14')] 0.0035867319924565615 0.0026428286895589827 26.32% 35.72% 1.36x
decode[(function,uint256)-(b'\\x01\\x01\\x01\\] 0.0021755293703683443 0.0012525405237436595 42.43% 73.69% 1.74x
decode[(string,bytes)-('foo', b'bar')] 0.0026645105337083446 0.001550652077557655 41.80% 71.83% 1.72x
decode[(string[],bytes[])-([''], [b''])] 0.004154948702225233 0.0025791821038290592 37.93% 61.10% 1.61x
decode[(string[],bytes[])-([], [])] 0.002885107383476787 0.0016000379270669019 44.54% 80.31% 1.80x
decode[(uint256,bool)-(42, True)] 0.0021897895035293486 0.0012631513392356733 42.32% 73.36% 1.73x
decode[(uint256[],(string[],bool))-([1, 2, 3], (['a] 0.005850150353650844 0.003515885399160308 39.90% 66.39% 1.66x
decode[(uint256[2],string)-([1, 2], 'baz')] 0.0028353700210208533 0.0016313763684192245 42.46% 73.80% 1.74x
decode[(uint8,(bool,string))-(7, (False, 'hi'] 0.0032734763449496105 0.0018617740824938334 43.13% 75.83% 1.76x
decode[(uint8[],string)-([], '')] 0.0027682370449148056 0.0015649054337731232 43.47% 76.89% 1.77x
decode[(uint8[][],string)-([[]], '')] 0.0035270464097733657 0.002066252175552563 41.42% 70.70% 1.71x
decode[(uint8[2],(string,bool[2]))-([1, 2], ('x', [] 0.004535497142178881 0.0025915421160189423 42.86% 75.01% 1.75x
decode[(uint8[2][],string[])-([], [])] 0.0028596957416414134 0.0015780760566027048 44.82% 81.21% 1.81x
decode[(uint8[2][2],(string[2],bool[2]))-([[1, 2], [3, 4]] 0.006994432499991292 0.0041569644805257 40.57% 68.26% 1.68x
decode[(uint8[2][2][],string[])-([], [])] 0.0028857671981434695 0.0015908423823015776 44.87% 81.40% 1.81x
decode[(uint8[2][2][2],string)-([[[1, 2], [3, 4] 0.006025927062113545 0.0036100398185201104 40.09% 66.92% 1.67x
decode[(uint8[2][2][2][2],string[2])-([[[[1, 2], [3, ] 0.011191154655168886 0.006957558198587966 37.83% 60.85% 1.61x
decode[(uint8[2][2][2][2][],string[])-([], [])] 0.0028746023937511467 0.0015711462629767756 45.34% 82.96% 1.83x
decode[(uint8[2][2][2][2][2],string[2][2])-([[[[[1, 2], [3,] 0.02142549629786814 0.01380449870833268 35.57% 55.21% 1.55x
decode[(uint8[3],(string[2],bool[2]))-([1, 2, 3], (['a] 0.0061650014968108735 0.003613177792305158 41.39% 70.63% 1.71x
decode[address-b'\\x00\\x00\\x00\\x] 0.0016514856871506648 0.0006943448421482159 57.96% 137.85% 2.38x
decode[address-b'\\xff\\xff\\xff\\x] 0.0016661896355639077 0.0007019109213656243 57.87% 137.38% 2.37x
decode[address[2]-[b'\\x00\\x00\\x00\\] 0.002913305371877328 0.0012851907095357599 55.89% 126.68% 2.27x
decode[bool-False] 0.0008807315433147076 0.0004019486902144337 54.36% 119.12% 2.19x
decode[bool-True] 0.0008880978542511914 0.0004024200976548431 54.69% 120.69% 2.21x
decode[bool[][2]-[[True, False], ] 0.0035283669852423107 0.0019215492892543872 45.54% 83.62% 1.84x
decode[bool[4]-[True, False, Tr] 0.0017568357363271225 0.0009530969280325135 45.75% 84.33% 1.84x
decode[bytes-b''] 0.0014230398799373821 0.0007236894517206302 49.14% 96.64% 1.97x
decode[bytes-b'\\x00\\x00\\x00\\x0] 0.0014351595245395306 0.0007251267517402497 49.47% 97.92% 1.98x
decode[bytes-b'\\x00\\x00\\x00\\x1] 0.0014343634305547849 0.0007655876903221093 46.63% 87.35% 1.87x
decode[bytes-b'aaaaaaaaaaaaaa] 0.0014331584102565637 0.0007361677316686323 48.63% 94.68% 1.95x
decode[bytes-b'hello world'] 0.0014216424525991742 0.0007212000075876538 49.27% 97.12% 1.97x
decode[bytes[]-[]0] 0.0015558098548118348 0.0007400108286842859 52.44% 110.24% 2.10x
decode[bytes[]-[]1] 0.0015326921580664577 0.0007829090122464661 48.92% 95.77% 1.96x
decode[bytes[]-[b'abc', b'def',] 0.003589480349622724 0.002165652972158577 39.67% 65.75% 1.66x
decode[bytes[10]-[b'\\x00\\x00\\x00\\] 0.0077849629212644105 0.00530792108152535 31.82% 46.67% 1.47x
decode[bytes[100]-[b'\\x00\\x00\\x00\\] 0.061851795470595466 0.04587152781816299 25.84% 34.84% 1.35x
decode[bytes1-b'\\x01'] 0.0008855201719678659 0.0004029401944444892 54.50% 119.76% 2.20x
decode[bytes10-b'\\x01\\x01\\x01\\x] 0.0008780311794630886 0.00040689686958377637 53.66% 115.79% 2.16x
decode[bytes11-b'\\x01\\x01\\x01\\x] 0.0008833583495239357 0.0004104274485533031 53.54% 115.23% 2.15x
decode[bytes12-b'\\x01\\x01\\x01\\x] 0.0008863309380457318 0.0004101383762475278 53.73% 116.11% 2.16x
decode[bytes13-b'\\x01\\x01\\x01\\x] 0.0008863966251213644 0.0004103638727818635 53.70% 116.00% 2.16x
decode[bytes14-b'\\x01\\x01\\x01\\x] 0.0008859898489272054 0.0004103305380588675 53.69% 115.92% 2.16x
decode[bytes15-b'\\x01\\x01\\x01\\x] 0.0008945635507385985 0.0004061306803402229 54.60% 120.26% 2.20x
decode[bytes16-b'\\x01\\x01\\x01\\x] 0.0008909257141458955 0.00041349579754617694 53.59% 115.46% 2.15x
decode[bytes16[3]-[b'\\x01\\x01\\x01\\] 0.0015769610932638096 0.0008362847081393488 46.97% 88.57% 1.89x
decode[bytes17-b'\\x01\\x01\\x01\\x] 0.0008856692475543209 0.00040914764041569053 53.80% 116.47% 2.16x
decode[bytes18-b'\\x01\\x01\\x01\\x] 0.0009046274619194198 0.0004084875002461636 54.84% 121.46% 2.21x
decode[bytes19-b'\\x01\\x01\\x01\\x] 0.0009035308965503713 0.00040976770953828436 54.65% 120.50% 2.20x
decode[bytes2-b'\\x01\\x01'] 0.000901367182530479 0.0004094522580488453 54.57% 120.14% 2.20x
decode[bytes20-b'\\x01\\x01\\x01\\x] 0.0008988385843141999 0.00040765271252843783 54.65% 120.49% 2.20x
decode[bytes21-b'\\x01\\x01\\x01\\x] 0.0008872323176936917 0.0004130811266730362 53.44% 114.78% 2.15x
decode[bytes22-b'\\x01\\x01\\x01\\x] 0.0008998944902140137 0.00041463670389737693 53.92% 117.03% 2.17x
decode[bytes23-b'\\x01\\x01\\x01\\x] 0.0009010054733736989 0.00041082470489452525 54.40% 119.32% 2.19x
decode[bytes24-b'\\x01\\x01\\x01\\x] 0.0008890662678401694 0.0004101429947077796 53.87% 116.77% 2.17x
decode[bytes25-b'\\x01\\x01\\x01\\x] 0.0008879244352489962 0.0004068688557138752 54.18% 118.23% 2.18x
decode[bytes26-b'\\x01\\x01\\x01\\x] 0.0008972382709365945 0.0004115017225106015 54.14% 118.04% 2.18x
decode[bytes27-b'\\x01\\x01\\x01\\x] 0.000891195749263836 0.0004085249712243981 54.16% 118.15% 2.18x
decode[bytes28-b'\\x01\\x01\\x01\\x] 0.0008868117792968921 0.00041220587365836675 53.52% 115.14% 2.15x
decode[bytes29-b'\\x01\\x01\\x01\\x] 0.0008881477463408529 0.00041349426277273514 53.44% 114.79% 2.15x
decode[bytes3-b'\\x01\\x01\\x01'] 0.0008997388816562825 0.0004071147006632611 54.75% 121.00% 2.21x
decode[bytes30-b'\\x01\\x01\\x01\\x] 0.0008840317868213648 0.0004104722880437569 53.57% 115.37% 2.15x
decode[bytes31-b'\\x01\\x01\\x01\\x] 0.0008826485681819638 0.0003999540723291331 54.69% 120.69% 2.21x
decode[bytes32-b'\\x01\\x01\\x01\\x] 0.000874786612010767 0.0004058795162247443 53.60% 115.53% 2.16x
decode[bytes32[2]-[b'\\x00\\x00\\x00\\] 0.0013500919820103093 0.0006981580157733366 48.29% 93.38% 1.93x
decode[bytes4-b'\\x01\\x01\\x01\\x] 0.0008952049330717033 0.00040966822894501575 54.24% 118.52% 2.19x
decode[bytes5-b'\\x01\\x01\\x01\\x] 0.0008942677929334493 0.0004083018061796201 54.34% 119.02% 2.19x
decode[bytes6-b'\\x01\\x01\\x01\\x] 0.0009158472021805346 0.00040853307136078153 55.39% 124.18% 2.24x
decode[bytes7-b'\\x01\\x01\\x01\\x] 0.000896220380625619 0.00040964467746726905 54.29% 118.78% 2.19x
decode[bytes8-b'\\x01\\x01\\x01\\x] 0.0008867160897572343 0.000408405053299827 53.94% 117.12% 2.17x
decode[bytes8[4]-[b'\\x01\\x01\\x01\\] 0.0017896351618500164 0.0009879592738086095 44.80% 81.14% 1.81x
decode[bytes9-b'\\x01\\x01\\x01\\x] 0.0009022868328445359 0.00040855091081681014 54.72% 120.85% 2.21x
decode[fixed128x1-Decimal('1.2')] 0.0016240462561427193 0.001083580779125367 33.28% 49.88% 1.50x
decode[fixed128x10-Decimal('1.20000] 0.0016418556909978171 0.0011407651563308835 30.52% 43.93% 1.44x
decode[fixed128x18-Decimal('1.20000] 0.0016581746537142191 0.0011509108402046279 30.59% 44.07% 1.44x
decode[fixed128x2-Decimal('1.20')] 0.0016187914409698185 0.0010896568561046059 32.69% 48.56% 1.49x
decode[fixed16x1-Decimal('1.2')] 0.0015514383855221394 0.001033012872978322 33.42% 50.19% 1.50x
decode[fixed16x2-Decimal('1.20')] 0.0015268964831640919 0.0010253606915744636 32.85% 48.91% 1.49x
decode[fixed256x1-Decimal('1.2')] 0.0016115653831275587 0.0011099679188518667 31.12% 45.19% 1.45x
decode[fixed256x10-Decimal('1.20000] 0.0016589950688409567 0.0011487770959464601 30.75% 44.41% 1.44x
decode[fixed256x18-Decimal('1.20000] 0.0016571903908253688 0.0011507321360112093 30.56% 44.01% 1.44x
decode[fixed256x2-Decimal('1.20')] 0.0016140142801414298 0.0011022694243185004 31.71% 46.43% 1.46x
decode[fixed32x1-Decimal('1.2')] 0.0015575173511214136 0.0010527025111605485 32.41% 47.95% 1.48x
decode[fixed32x2-Decimal('1.20')] 0.0015804529237624083 0.0010591837759030371 32.98% 49.21% 1.49x
decode[fixed32x2[]-[]0] 0.0015508131114869825 0.0007219252753718302 53.45% 114.82% 2.15x
decode[fixed32x2[]-[]1] 0.0015241850629046615 0.0007647526400947487 49.83% 99.30% 1.99x
decode[fixed32x2[2]-[Decimal('3.14')] 0.0026733162274016325 0.0019836138376065826 25.80% 34.77% 1.35x
decode[fixed64x1-Decimal('1.2')] 0.0015779066284731 0.0010742787792670553 31.92% 46.88% 1.47x
decode[fixed64x10-Decimal('1.20000] 0.0016210831761562083 0.001122965266916226 30.73% 44.36% 1.44x
decode[fixed64x18-Decimal('1.20000] 0.0016170136548070092 0.0011225366683476606 30.58% 44.05% 1.44x
decode[fixed64x2-Decimal('1.20')] 0.0015681602758042554 0.0010685470264426738 31.86% 46.76% 1.47x
decode[fixed8x1-Decimal('1.2')] 0.0015121820051103858 0.001008477378502767 33.31% 49.95% 1.50x
decode[fixed8x2-Decimal('1.20')] 0.0015165527699978535 0.0010126608478990538 33.23% 49.76% 1.50x
decode[function-b'\\x00\\x00\\x00\\x] 0.0008826093017053624 0.0004094488057332475 53.61% 115.56% 2.16x
decode[function-b'\\x01\\x01\\x01\\x] 0.0009042108402419475 0.00041087771400615534 54.56% 120.07% 2.20x
decode[function-b'\\xff\\xff\\xff\\x] 0.0008892023393367044 0.00041209482662702844 53.66% 115.78% 2.16x
decode[int128--170141183460469] 0.0010889532553438647 0.0006132200050030605 43.69% 77.58% 1.78x
decode[int128-1701411834604692] 0.0010397160119700124 0.000576152928170671 44.59% 80.46% 1.80x
decode[int16--32768] 0.0009924082971810076 0.0005263200843645386 46.97% 88.56% 1.89x
decode[int16-32767] 0.000981116661224563 0.0005070752857890729 48.32% 93.49% 1.93x
decode[int256--578960446186580] 0.0011197876350529917 0.0006449361081099671 42.41% 73.63% 1.74x
decode[int256-5789604461865809] 0.0010623485190152295 0.0005933148776301738 44.15% 79.05% 1.79x
decode[int32--2147483648] 0.0010354425404486439 0.0005703548863184203 44.92% 81.54% 1.82x
decode[int32-2147483647] 0.0010017572911785362 0.0005411057963745554 45.98% 85.13% 1.85x
decode[int64--922337203685477] 0.0010674390846861861 0.0005959092879715159 44.17% 79.13% 1.79x
decode[int64-9223372036854775] 0.0010405160173531727 0.0005599688248166885 46.18% 85.82% 1.86x
decode[int8--128] 0.0009853762455360737 0.0005036240950034182 48.89% 95.66% 1.96x
decode[int8-127] 0.0009567988283979721 0.00048408225916486637 49.41% 97.65% 1.98x
decode[string-''] 0.001397199886644851 0.0007114798715441446 49.08% 96.38% 1.96x
decode[string-'\U0001d518\U0001d52b\U0001d526\U0001d520\U0001d52c\U0001d521\U0001d522'] 0.001436734433435791 0.0007390867928587152 48.56% 94.39% 1.94x
decode[string-'aaaaaaaaaaaaaaa0] 0.0014081404643918759 0.0007238533172406686 48.60% 94.53% 1.95x
decode[string-'aaaaaaaaaaaaaaa1] 0.0014345166249985816 0.0007691171174558568 46.38% 86.51% 1.87x
decode[string-'bbbbbbbbbbbbbbb] 0.0014569957819320263 0.0007649823061065531 47.50% 90.46% 1.90x
decode[string-'hello world'] 0.0014098955440732877 0.0007193992062917092 48.97% 95.98% 1.96x
decode[string[]-['a', 'b', 'c']] 0.003503600398553185 0.0020952315861280804 40.20% 67.22% 1.67x
decode[string[]-[]0] 0.0015396132990207472 0.0007579884012538271 50.77% 103.12% 2.03x
decode[string[]-[]1] 0.0015366264508878118 0.0007400938685045157 51.84% 107.63% 2.08x
decode[string[10]-['0', '1', '2', ] 0.007607366553837927 0.0051675255916216545 32.07% 47.21% 1.47x
decode[string[2]-['foo', 'bar']] 0.002602092161473258 0.0015292433338969604 41.23% 70.16% 1.70x
decode[string[5]-['a', 'b', 'c', ] 0.004544349330186198 0.00291032957317323 35.96% 56.15% 1.56x
decode[ufixed128x1-Decimal('1.2')] 0.0014725677238084966 0.0009484958895907405 35.59% 55.25% 1.55x
decode[ufixed128x10-Decimal('1.20000] 0.0014960791758805005 0.0009912954184243229 33.74% 50.92% 1.51x
decode[ufixed128x18-Decimal('1.20000] 0.0015315130614620984 0.000992290665934108 35.21% 54.34% 1.54x
decode[ufixed128x2-Decimal('1.20')] 0.0014685834131850685 0.0009556339222607888 34.93% 53.68% 1.54x
decode[ufixed16x1-Decimal('1.2')] 0.001463171863782975 0.00095546182321025 34.70% 53.14% 1.53x
decode[ufixed16x2-Decimal('1.20')] 0.0014538656914550579 0.0009541525691147507 34.37% 52.37% 1.52x
decode[ufixed256x1-Decimal('1.2')] 0.0014548336581107217 0.0009255231257910498 36.38% 57.19% 1.57x
decode[ufixed256x10-Decimal('1.20000] 0.0014903796020238017 0.0009637853580916483 35.33% 54.64% 1.55x
decode[ufixed256x18-Decimal('1.20000] 0.0014842978314387391 0.0009701513957845845 34.64% 53.00% 1.53x
decode[ufixed256x2-Decimal('1.20')] 0.0014535333412662487 0.0009346855396003527 35.70% 55.51% 1.56x
decode[ufixed32x1-Decimal('1.2')] 0.0014510195566351173 0.0009432669838689943 34.99% 53.83% 1.54x
decode[ufixed32x2-Decimal('1.20')] 0.0014608615280871599 0.0009508444126468382 34.91% 53.64% 1.54x
decode[ufixed64x1-Decimal('1.2')] 0.0014563193820203361 0.0009465864326819405 35.00% 53.85% 1.54x
decode[ufixed64x10-Decimal('1.20000] 0.0014974548642997672 0.000988763385667214 33.97% 51.45% 1.51x
decode[ufixed64x18-Decimal('1.20000] 0.001502839881768956 0.0009989471466361106 33.53% 50.44% 1.50x
decode[ufixed64x2-Decimal('1.20')] 0.001462697617460305 0.0009455648657510198 35.35% 54.69% 1.55x
decode[ufixed8x1-Decimal('1.2')] 0.0014633399647444106 0.0009434520976408937 35.53% 55.10% 1.55x
decode[ufixed8x2-Decimal('1.20')] 0.0014608081782342818 0.0009435435226812294 35.41% 54.82% 1.55x
decode[uint128-3402823669209384] 0.0009381621673468293 0.00045622086722870814 51.37% 105.64% 2.06x
decode[uint16-65535] 0.0009349964555671211 0.0004569713837653003 51.13% 104.61% 2.05x
decode[uint256-0] 0.0009251678542511048 0.00043743633603252546 52.72% 111.50% 2.11x
decode[uint256-1157920892373161] 0.0009242480749502951 0.0004459179527677575 51.75% 107.27% 2.07x
decode[uint256[2]-[0, 115792089237] 0.0014429448176119148 0.0007757418370452126 46.24% 86.01% 1.86x
decode[uint256[2][2]-[[1, 2], [3, 4]]] 0.0024620151564115587 0.001400679748868803 43.11% 75.77% 1.76x
decode[uint32-4294967295] 0.000949342218810359 0.000463103804240278 51.22% 105.00% 2.05x
decode[uint64-1844674407370955] 0.0009386788750000751 0.0004534194199498337 51.70% 107.02% 2.07x
decode[uint8-0] 0.0009341909077936517 0.0004539047730793862 51.41% 105.81% 2.06x
decode[uint8-255] 0.0009285320996098578 0.0004559619204870592 50.89% 103.64% 2.04x
decode[uint8[]-[]0] 0.0015402471976927352 0.0007139665687034944 53.65% 115.73% 2.16x
decode[uint8[]-[]1] 0.0015163220289404397 0.000720230612732644 52.50% 110.53% 2.11x
decode[uint8[]-[1, 2, 3, 4, 5]] 0.0021822799021508493 0.0011923872031253484 45.36% 83.02% 1.83x
decode[uint8[][]-[[]]] 0.0023081126009847834 0.0012286385845728153 46.77% 87.86% 1.88x
decode[uint8[10]-[0, 1, 2, 3, 4, ] 0.003358033362992355 0.0021957279977016897 34.61% 52.93% 1.53x
decode[uint8[100]-[0, 1, 2, 3, 4, ] 0.024651653756100907 0.01779877242104807 27.80% 38.50% 1.39x
decode[uint8[2][]-[]] 0.0015342037101716461 0.0007145078788384455 53.43% 114.72% 2.15x
decode[uint8[2][2][]-[]] 0.001540527486667808 0.0007254156638868224 52.91% 112.36% 2.12x
decode[uint8[3]-[1, 2, 3]] 0.0017037264094352516 0.0009510067708343708 44.18% 79.15% 1.79x
encode[((uint8,uint8),uint8)-((1, 2), 3)] 0.0027423794504786926 0.0015274502543436903 44.30% 79.54% 1.80x
encode[((uint8[2],(string,bool)),bytes32)-(([1, 2], ('hi',] 0.005770385636362907 0.0029197024212128946 49.40% 97.64% 1.98x
encode[((uint8[2][2],(string[2],bool[2])),bytes32[2])-(([[1, 2], [3, 4] 0.010836629133331143 0.005190030370968198 52.11% 108.80% 2.09x
encode[(address,uint8)-(b'\\x00\\x00\\x00\\] 0.002346464340541075 0.0009912377081082013 57.76% 136.72% 2.37x
encode[(bytes[],string[])-([], [])] 0.0026377143746320556 0.0009519025794302788 63.91% 177.10% 2.77x
encode[(bytes1,bytes2,bytes3,bytes4)-(b'\\x01', b'\\x01] 0.0017286482453605506 0.0008940293503301622 48.28% 93.35% 1.93x
encode[(bytes32[],string[])-([b'\\x00\\x00\\x00] 0.004464314139997896 0.0017381540362971471 61.07% 156.84% 2.57x
encode[(fixed32x2,uint8)-(Decimal('3.14')] 0.0042196574418614 0.002183113226543965 48.26% 93.29% 1.93x
encode[(function,uint256)-(b'\\x01\\x01\\x01\\] 0.001744476548805873 0.0008154144139730684 53.26% 113.94% 2.14x
encode[(string,bytes)-('foo', b'bar')] 0.002397410626063688 0.0010362445896292536 56.78% 131.36% 2.31x
encode[(string[],bytes[])-([''], [b''])] 0.004126249244443443 0.0014903628575894247 63.88% 176.86% 2.77x
encode[(string[],bytes[])-([], [])] 0.0026403562967054093 0.0009532905414208244 63.90% 176.97% 2.77x
encode[(uint256,bool)-(42, True)] 0.0017186410618755773 0.0008061858144942382 53.09% 113.18% 2.13x
encode[(uint256[],(string[],bool))-([1, 2, 3], (['a] 0.006668541085712069 0.002767350014084648 58.50% 140.97% 2.41x
encode[(uint256[2],string)-([1, 2], 'baz')] 0.0032718675836292932 0.0013549057913671192 58.59% 141.48% 2.41x
encode[(uint8,(bool,string))-(7, (False, 'hi'] 0.0033818501235517305 0.001663213776119509 50.82% 103.33% 2.03x
encode[(uint8[],string)-([], '')] 0.0026313630264732358 0.001031786214046628 60.79% 155.03% 2.55x
encode[(uint8[][],string)-([[]], '')] 0.0035057120742172376 0.0012522252330621 64.28% 179.96% 2.80x
encode[(uint8[2],(string,bool[2]))-([1, 2], ('x', [] 0.005153892697143029 0.002359701100736852 54.22% 118.41% 2.18x
encode[(uint8[2][],string[])-([], [])] 0.002652209190790064 0.0009512006059702034 64.14% 178.83% 2.79x
encode[(uint8[2][2],(string[2],bool[2]))-([[1, 2], [3, 4]] 0.008204009313043492 0.003671302683207565 55.25% 123.46% 2.23x
encode[(uint8[2][2][],string[])-([], [])] 0.0026577139759754232 0.0009603361039751061 63.87% 176.75% 2.77x
encode[(uint8[2][2][2],string)-([[[1, 2], [3, 4] 0.0083200221315819 0.0032848168741482905 60.52% 153.29% 2.53x
encode[(uint8[2][2][2][2],string[2])-([[[[1, 2], [3, ] 0.017522600964284152 0.006377243909679648 63.61% 174.77% 2.75x
encode[(uint8[2][2][2][2][],string[])-([], [])] 0.002658238459374651 0.0009477595546479467 64.35% 180.48% 2.80x
encode[(uint8[2][2][2][2][2],string[2][2])-([[[[[1, 2], [3,] 0.03768449049999626 0.01233345677499642 67.27% 205.55% 3.06x
encode[(uint8[3],(string[2],bool[2]))-([1, 2, 3], (['a] 0.0067419100977453555 0.0030652063610212632 54.54% 119.95% 2.20x
encode[address-b'\\x00\\x00\\x00\\x] 0.0012639453492311339 0.00044422321925122594 64.85% 184.53% 2.85x
encode[address-b'\\xff\\xff\\xff\\x] 0.0012471306498003983 0.00044432760614779987 64.37% 180.68% 2.81x
encode[address[2]-[b'\\x00\\x00\\x00\\] 0.002263336864102901 0.0007862019191039565 65.26% 187.88% 2.88x
encode[bool-False] 0.0007293569867297858 0.0002584409787702395 64.57% 182.21% 2.82x
encode[bool-True] 0.0007347017493191711 0.0002569025138887879 65.03% 185.98% 2.86x
encode[bool[][2]-[[True, False], ] 0.003136533327464754 0.0009484151584362937 69.76% 230.71% 3.31x
encode[bool[4]-[True, False, Tr] 0.001391868328477434 0.0005719914352790596 58.90% 143.34% 2.43x
encode[bytes-b''] 0.0010736161437661389 0.0003825547616136817 64.37% 180.64% 2.81x
encode[bytes-b'\\x00\\x00\\x00\\x0] 0.001083687310345166 0.0003881208486316956 64.19% 179.21% 2.79x
encode[bytes-b'\\x00\\x00\\x00\\x1] 0.001090526314941528 0.0004121539504909181 62.21% 164.59% 2.65x
encode[bytes-b'aaaaaaaaaaaaaa] 0.0010599593885054458 0.00038421382863049186 63.75% 175.88% 2.76x
encode[bytes-b'hello world'] 0.0010618608587193833 0.00038954230722123396 63.32% 172.59% 2.73x
encode[bytes[]-[]0] 0.0011812793275646554 0.0003283807225090747 72.20% 259.73% 3.60x
encode[bytes[]-[]1] 0.0011963261668768515 0.0003303540173370055 72.39% 262.13% 3.62x
encode[bytes[]-[b'abc', b'def',] 0.0027484816823529204 0.0009402103279522267 65.79% 192.33% 2.92x
encode[bytes[10]-[b'\\x00\\x00\\x00\\] 0.00572090756213079 0.002219934972414722 61.20% 157.71% 2.58x
encode[bytes[100]-[b'\\x00\\x00\\x00\\] 0.04262235612500594 0.018242114000002568 57.20% 133.65% 2.34x
encode[bytes1-b'\\x01'] 0.0007296894065114187 0.00026000115800259266 64.37% 180.65% 2.81x
encode[bytes10-b'\\x01\\x01\\x01\\x] 0.000712674703672365 0.00026209452968532245 63.22% 171.92% 2.72x
encode[bytes11-b'\\x01\\x01\\x01\\x] 0.0007219965716847929 0.00026146388228369334 63.79% 176.14% 2.76x
encode[bytes12-b'\\x01\\x01\\x01\\x] 0.0007120797933451362 0.000261666856088035 63.25% 172.13% 2.72x
encode[bytes13-b'\\x01\\x01\\x01\\x] 0.0007105741274511025 0.00026230495413417644 63.09% 170.90% 2.71x
encode[bytes14-b'\\x01\\x01\\x01\\x] 0.0007127650551178378 0.0002599652121207295 63.53% 174.18% 2.74x
encode[bytes15-b'\\x01\\x01\\x01\\x] 0.0007114329781656547 0.00026029097372801385 63.41% 173.32% 2.73x
encode[bytes16-b'\\x01\\x01\\x01\\x] 0.0007109305058084931 0.0002588675293101369 63.59% 174.63% 2.75x
encode[bytes16[3]-[b'\\x01\\x01\\x01\\] 0.0012321188062130303 0.0004974868181819029 59.62% 147.67% 2.48x
encode[bytes17-b'\\x01\\x01\\x01\\x] 0.0007134766831864582 0.00026146490372995837 63.35% 172.88% 2.73x
encode[bytes18-b'\\x01\\x01\\x01\\x] 0.0007158510276533056 0.00025929115367839974 63.78% 176.08% 2.76x
encode[bytes19-b'\\x01\\x01\\x01\\x] 0.0007144643845472493 0.0002613244721245163 63.42% 173.40% 2.73x
encode[bytes2-b'\\x01\\x01'] 0.0007128050750221594 0.0002628436828869181 63.13% 171.19% 2.71x
encode[bytes20-b'\\x01\\x01\\x01\\x] 0.0007119535903512499 0.0002618769881475235 63.22% 171.87% 2.72x
encode[bytes21-b'\\x01\\x01\\x01\\x] 0.0007114993045498076 0.00026358713415969477 62.95% 169.93% 2.70x
encode[bytes22-b'\\x01\\x01\\x01\\x] 0.0007208503629956571 0.0002608264140851414 63.82% 176.37% 2.76x
encode[bytes23-b'\\x01\\x01\\x01\\x] 0.0007119369973349614 0.0002619039940511112 63.21% 171.83% 2.72x
encode[bytes24-b'\\x01\\x01\\x01\\x] 0.0007092153711524197 0.0002595756422127374 63.40% 173.22% 2.73x
encode[bytes25-b'\\x01\\x01\\x01\\x] 0.0007115943732643151 0.00026020045286409706 63.43% 173.48% 2.73x
encode[bytes26-b'\\x01\\x01\\x01\\x] 0.000700627815446306 0.00026111014915425877 62.73% 168.33% 2.68x
encode[bytes27-b'\\x01\\x01\\x01\\x] 0.0007009855221547049 0.00026016562779046005 62.89% 169.44% 2.69x
encode[bytes28-b'\\x01\\x01\\x01\\x] 0.000716479470380006 0.0002641196741935527 63.14% 171.27% 2.71x
encode[bytes29-b'\\x01\\x01\\x01\\x] 0.0007025032845952011 0.0002591601812451741 63.11% 171.07% 2.71x
encode[bytes3-b'\\x01\\x01\\x01'] 0.0007130217239893884 0.00026552173391549544 62.76% 168.54% 2.69x
encode[bytes30-b'\\x01\\x01\\x01\\x] 0.0007044555474525282 0.0002611775964139942 62.92% 169.72% 2.70x
encode[bytes31-b'\\x01\\x01\\x01\\x] 0.0007046483117903045 0.0002626367024984244 62.73% 168.30% 2.68x
encode[bytes32-b'\\x01\\x01\\x01\\x] 0.0006973866929673163 0.0002532688291203827 63.68% 175.35% 2.75x
encode[bytes32[2]-[b'\\x00\\x00\\x00\\] 0.0011087459650535193 0.00042544662750538983 61.63% 160.61% 2.61x
encode[bytes4-b'\\x01\\x01\\x01\\x] 0.0007116382564331115 0.0002618524383450157 63.20% 171.77% 2.72x
encode[bytes5-b'\\x01\\x01\\x01\\x] 0.0007468575368231272 0.00026417193212380366 64.63% 182.72% 2.83x
encode[bytes6-b'\\x01\\x01\\x01\\x] 0.0007119962296561085 0.0002652323372087098 62.75% 168.44% 2.68x
encode[bytes7-b'\\x01\\x01\\x01\\x] 0.0007139533158344652 0.00026646885419494824 62.68% 167.93% 2.68x
encode[bytes8-b'\\x01\\x01\\x01\\x] 0.0007116635786219846 0.00026599742150178846 62.62% 167.55% 2.68x
encode[bytes8[4]-[b'\\x01\\x01\\x01\\] 0.0013088762275545547 0.0005628963335404534 56.99% 132.53% 2.33x
encode[bytes9-b'\\x01\\x01\\x01\\x] 0.000716910011504023 0.0002650509745101075 63.03% 170.48% 2.70x
encode[fixed128x1-Decimal('1.2')] 0.002421703193370324 0.0012193762974027913 49.65% 98.60% 1.99x
encode[fixed128x10-Decimal('1.20000] 0.0024674227173915515 0.0012454375111988654 49.52% 98.12% 1.98x
encode[fixed128x18-Decimal('1.20000] 0.002486234261580389 0.0012525373861504746 49.62% 98.50% 1.98x
encode[fixed128x2-Decimal('1.20')] 0.0024385647061991385 0.001213541879593009 50.24% 100.95% 2.01x
encode[fixed16x1-Decimal('1.2')] 0.002285602047265063 0.0011997419761595781 47.51% 90.51% 1.91x
encode[fixed16x2-Decimal('1.20')] 0.0022503162611932663 0.001202033597977226 46.58% 87.21% 1.87x
encode[fixed256x1-Decimal('1.2')] 0.002547369663793234 0.0012149759588150197 52.30% 109.66% 2.10x
encode[fixed256x10-Decimal('1.20000] 0.0026005630691628067 0.001257813558322998 51.63% 106.75% 2.07x
encode[fixed256x18-Decimal('1.20000] 0.0026270181327428736 0.0012613829596239707 51.98% 108.26% 2.08x
encode[fixed256x2-Decimal('1.20')] 0.00255642416997144 0.001211574501288782 52.61% 111.00% 2.11x
encode[fixed32x1-Decimal('1.2')] 0.002335639698412841 0.0011948960706179698 48.84% 95.47% 1.95x
encode[fixed32x2-Decimal('1.20')] 0.0023156888885949084 0.0012084831649484783 47.81% 91.62% 1.92x
encode[fixed32x2[]-[]0] 0.001175113101265823 0.0003280107007845557 72.09% 258.25% 3.58x
encode[fixed32x2[]-[]1] 0.0011825396349020606 0.00033043095869957084 72.06% 257.88% 3.58x
encode[fixed32x2[2]-[Decimal('3.14')] 0.0056714454695116125 0.0023442178913566673 58.67% 141.93% 2.42x
encode[fixed64x1-Decimal('1.2')] 0.0023736828535032323 0.0012096231450585678 49.04% 96.23% 1.96x
encode[fixed64x10-Decimal('1.20000] 0.002409433670241719 0.0012522260973677876 48.03% 92.41% 1.92x
encode[fixed64x18-Decimal('1.20000] 0.0024427476521741106 0.0012572349119666809 48.53% 94.30% 1.94x
encode[fixed64x2-Decimal('1.20')] 0.0023966293968252107 0.0012085152590679434 49.57% 98.31% 1.98x
encode[fixed8x1-Decimal('1.2')] 0.0022398700824744896 0.0012268477490244836 45.23% 82.57% 1.83x
encode[fixed8x2-Decimal('1.20')] 0.0022465540147780655 0.001199048711249162 46.63% 87.36% 1.87x
encode[function-b'\\x00\\x00\\x00\\x] 0.0007116331820966493 0.00025880962469626817 63.63% 174.96% 2.75x
encode[function-b'\\x01\\x01\\x01\\x] 0.0007059674895107956 0.0002580490953047759 63.45% 173.58% 2.74x
encode[function-b'\\xff\\xff\\xff\\x] 0.0007066109050146653 0.00025934614641562353 63.30% 172.46% 2.72x
encode[int128--170141183460469] 0.0009813802064058883 0.0003715374039414246 62.14% 164.14% 2.64x
encode[int128-1701411834604692] 0.0009811944155439206 0.00036406438880320517 62.90% 169.51% 2.70x
encode[int16--32768] 0.0008480675846468231 0.0003463662756987805 59.16% 144.85% 2.45x
encode[int16-32767] 0.0008539706890680192 0.0003423316685652639 59.91% 149.46% 2.49x
encode[int256--578960446186580] 0.0010443928475841978 0.00037945401306524793 63.67% 175.24% 2.75x
encode[int256-5789604461865809] 0.0010371101351350494 0.00036773434619668545 64.54% 182.03% 2.82x
encode[int32--2147483648] 0.0009058431666663107 0.0003619843770866503 60.04% 150.24% 2.50x
encode[int32-2147483647] 0.0008920216558140795 0.00035567608074819803 60.13% 150.80% 2.51x
encode[int64--922337203685477] 0.0009483754372149347 0.00036119844904937843 61.91% 162.56% 2.63x
encode[int64-9223372036854775] 0.0009346440745532555 0.0003545964321267578 62.06% 163.58% 2.64x
encode[int8--128] 0.0008249915972219917 0.0003342361350074753 59.49% 146.83% 2.47x
encode[int8-127] 0.000825518974738602 0.0003297777260793215 60.05% 150.33% 2.50x
encode[string-''] 0.0011069414928112425 0.00041994870956178906 62.06% 163.59% 2.64x
encode[string-'\U0001d518\U0001d52b\U0001d526\U0001d520\U0001d52c\U0001d521\U0001d522'] 0.0011301804326582351 0.0004314230184603718 61.83% 161.97% 2.62x
encode[string-'aaaaaaaaaaaaaaa0] 0.0011253864941582572 0.0004240921674832388 62.32% 165.36% 2.65x
encode[string-'aaaaaaaaaaaaaaa1] 0.0011471779470445744 0.0004597393995145599 59.92% 149.53% 2.50x
encode[string-'bbbbbbbbbbbbbbb] 0.0011577321967617756 0.0004680144891468823 59.57% 147.37% 2.47x
encode[string-'hello world'] 0.0011215483180773923 0.000428096899907021 61.83% 161.98% 2.62x
encode[string[]-['a', 'b', 'c']] 0.0029216081974915943 0.0010456197947597476 64.21% 179.41% 2.79x
encode[string[]-[]0] 0.0011697336080906547 0.000330157080515755 71.78% 254.30% 3.54x
encode[string[]-[]1] 0.0011733906810666216 0.0003319586824456482 71.71% 253.47% 3.53x
encode[string[10]-['0', '1', '2', ] 0.006216373375796891 0.0025513628489595894 58.96% 143.65% 2.44x
encode[string[2]-['foo', 'bar']] 0.002272557279999816 0.0008145093561998678 64.16% 179.01% 2.79x
encode[string[5]-['a', 'b', 'c', ] 0.003767840788844163 0.001471304859091154 60.95% 156.09% 2.56x
encode[ufixed128x1-Decimal('1.2')] 0.0022090299726358464 0.0011664465137845579 47.20% 89.38% 1.89x
encode[ufixed128x10-Decimal('1.20000] 0.0022503454513720213 0.001203080069532799 46.54% 87.05% 1.87x
encode[ufixed128x18-Decimal('1.20000] 0.002270451549616771 0.001206837659466057 46.85% 88.13% 1.88x
encode[ufixed128x2-Decimal('1.20')] 0.0022091669034656662 0.0011608614780493692 47.45% 90.30% 1.90x
encode[ufixed16x1-Decimal('1.2')] 0.0021419251473424124 0.0011641323982732874 45.65% 83.99% 1.84x
encode[ufixed16x2-Decimal('1.20')] 0.0021506543381297613 0.0011787193890953152 45.19% 82.46% 1.82x
encode[ufixed256x1-Decimal('1.2')] 0.0022469963526455094 0.0011532851773994118 48.67% 94.83% 1.95x
encode[ufixed256x10-Decimal('1.20000] 0.002310099856397025 0.0011998193418368808 48.06% 92.54% 1.93x
encode[ufixed256x18-Decimal('1.20000] 0.0023311131946664623 0.001214105901014206 47.92% 92.00% 1.92x
encode[ufixed256x2-Decimal('1.20')] 0.0022718301934680518 0.0011597577125443993 48.95% 95.89% 1.96x
encode[ufixed32x1-Decimal('1.2')] 0.002179407137254351 0.0011708731074067185 46.28% 86.14% 1.86x
encode[ufixed32x2-Decimal('1.20')] 0.0021771414303191085 0.0011774268444168009 45.92% 84.91% 1.85x
encode[ufixed64x1-Decimal('1.2')] 0.0021956138930339483 0.0011692674871160251 46.75% 87.78% 1.88x
encode[ufixed64x10-Decimal('1.20000] 0.0022277590522394412 0.0012079970630632815 45.78% 84.42% 1.84x
encode[ufixed64x18-Decimal('1.20000] 0.002239117511392138 0.0012190311878228868 45.56% 83.68% 1.84x
encode[ufixed64x2-Decimal('1.20')] 0.0022187688650009817 0.0011716267881043286 47.19% 89.38% 1.89x
encode[ufixed8x1-Decimal('1.2')] 0.0021353451479711317 0.0011686609021608109 45.27% 82.72% 1.83x
encode[ufixed8x2-Decimal('1.20')] 0.0021522342410492273 0.0011761551875011378 45.35% 82.99% 1.83x
encode[uint128-3402823669209384] 0.0008576783104164617 0.00031835890309670807 62.88% 169.41% 2.69x
encode[uint16-65535] 0.0008158714906834285 0.0003170764470128956 61.14% 157.31% 2.57x
encode[uint256-0] 0.0008715639753743981 0.0003163382030860327 63.70% 175.52% 2.76x
encode[uint256-1157920892373161] 0.0008981727668885528 0.00031880134797942643 64.51% 181.73% 2.82x
encode[uint256[2]-[0, 115792089237] 0.0015645988675135804 0.0005535629212260516 64.62% 182.64% 2.83x
encode[uint256[2][2]-[[1, 2], [3, 4]]] 0.0031602609931503 0.0010043932969568323 68.22% 214.64% 3.15x
encode[uint32-4294967295] 0.0008295555030429575 0.0003258252071477693 60.72% 154.60% 2.55x
encode[uint64-1844674407370955] 0.0008405095377458641 0.00031659729674052506 62.33% 165.48% 2.65x
encode[uint8-0] 0.0008245995474862295 0.00031214122218331487 62.15% 164.18% 2.64x
encode[uint8-255] 0.0008043540519368094 0.00030899181136924116 61.59% 160.32% 2.60x
encode[uint8[]-[]0] 0.0011742738477423774 0.00033350161611887385 71.60% 252.10% 3.52x
encode[uint8[]-[]1] 0.0011913689283917404 0.0003341273587483863 71.95% 256.56% 3.57x
encode[uint8[]-[1, 2, 3, 4, 5]] 0.0022283311133506883 0.0008928653068734856 59.93% 149.57% 2.50x
encode[uint8[][]-[[]]] 0.001936084849889728 0.0004923260135703268 74.57% 293.25% 3.93x
encode[uint8[10]-[0, 1, 2, 3, 4, ] 0.002930931639175774 0.0013698629311420518 53.26% 113.96% 2.14x
encode[uint8[100]-[0, 1, 2, 3, 4, ] 0.02049290693749839 0.010703232728262868 47.77% 91.46% 1.91x
encode[uint8[2][]-[]] 0.001175046193113101 0.00032871812040302943 72.03% 257.46% 3.57x
encode[uint8[2][2][]-[]] 0.001177812421920598 0.0003303405069703308 71.95% 256.54% 3.57x
encode[uint8[3]-[1, 2, 3]] 0.001549939355140319 0.000642458027530263 58.55% 141.25% 2.41x
is_encodable_type[((uint8,uint8),uint8)] 0.00001974128347921794 0.000019332449644115392 2.07% 2.11% 1.02x
is_encodable_type[((uint8[2],(string,bool)),bytes32)] 0.000020387677219427143 0.000019844088582953745 2.67% 2.74% 1.03x
is_encodable_type[((uint8[2][2],(string[2],bool[2])),bytes32[2])] 0.00001974041782683952 0.000019388255224395883 1.78% 1.82% 1.02x
is_encodable_type[(address,uint8)] 0.000020000288298677024 0.00001926756445578079 3.66% 3.80% 1.04x
is_encodable_type[(bytes[],string[])] 0.00002024001045601823 0.00001941837798233439 4.06% 4.23% 1.04x
is_encodable_type[(bytes1,bytes2,bytes3,bytes4)] 0.000020035303941327175 0.00001958937777446002 2.23% 2.28% 1.02x
is_encodable_type[(bytes32[],string[])] 0.000020778373549127455 0.000019940622271625943 4.03% 4.20% 1.04x
is_encodable_type[(fixed32x2,uint8)] 0.000019693086059473962 0.000019614533489667917 0.40% 0.40% 1.00x
is_encodable_type[(function,uint256)] 0.000019731963665763938 0.00001950043922007364 1.17% 1.19% 1.01x
is_encodable_type[(string,bytes)] 0.000020028493780952777 0.000019682657911171447 1.73% 1.76% 1.02x
is_encodable_type[(string[],bytes[])] 0.000019595220661371348 0.00001950338599733047 0.47% 0.47% 1.00x
is_encodable_type[(uint256,bool)] 0.000020062028224024028 0.00001921998200713077 4.20% 4.38% 1.04x
is_encodable_type[(uint256[],(string[],bool))] 0.000020104824940278424 0.000019294682885036474 4.03% 4.20% 1.04x
is_encodable_type[(uint256[2],string)] 0.000020163305593382166 0.000019412418924182094 3.72% 3.87% 1.04x
is_encodable_type[(uint8,(bool,string))] 0.000020572465108683456 0.000020095752894478055 2.32% 2.37% 1.02x
is_encodable_type[(uint8[],string)] 0.000020452982597749958 0.000020103923066916316 1.71% 1.74% 1.02x
is_encodable_type[(uint8[][],string)] 0.000019963739044565642 0.000019669031361523913 1.48% 1.50% 1.01x
is_encodable_type[(uint8[2],(string,bool[2]))] 0.0000198016834188326 0.00001973028114319977 0.36% 0.36% 1.00x
is_encodable_type[(uint8[2][],string[])] 0.0000197617130754829 0.000019859904535775214 -0.50% -0.49% 1.00x
is_encodable_type[(uint8[2][2],(string[2],bool[2]))] 0.00002014224573732547 0.000019654660992842877 2.42% 2.48% 1.02x
is_encodable_type[(uint8[2][2][],string[])] 0.000019745141213993673 0.00001944971029206699 1.50% 1.52% 1.02x
is_encodable_type[(uint8[2][2][2],string)] 0.000019775733059988237 0.000019597400794114974 0.90% 0.91% 1.01x
is_encodable_type[(uint8[2][2][2][2],string[2])] 0.00001988984588497129 0.00001945692873589465 2.18% 2.23% 1.02x
is_encodable_type[(uint8[2][2][2][2][],string[])] 0.00001981029857202512 0.000019255737268995323 2.80% 2.88% 1.03x
is_encodable_type[(uint8[2][2][2][2][2],string[2][2])] 0.000019975559737032485 0.00001962768164782674 1.74% 1.77% 1.02x
is_encodable_type[(uint8[3],(string[2],bool[2]))] 0.000019599615751910736 0.0000196961554221052 -0.49% -0.49% 1.00x
is_encodable_type[address[2]] 0.000019787016107569294 0.000019567716848489633 1.11% 1.12% 1.01x
is_encodable_type[address] 0.000019660908515569126 0.000019574331474878862 0.44% 0.44% 1.00x
is_encodable_type[bool[][2]] 0.00001999905731581557 0.00001984608435856482 0.76% 0.77% 1.01x
is_encodable_type[bool[4]] 0.000019389383975915595 0.000019663115691202967 -1.41% -1.39% 0.99x
is_encodable_type[bool] 0.000019601072582666837 0.000019446336745411354 0.79% 0.80% 1.01x
is_encodable_type[bytes[]] 0.00001999982600318678 0.00002074763266451383 -3.74% -3.60% 0.96x
is_encodable_type[bytes[10]] 0.00002015203324906822 0.000019303752924034814 4.21% 4.39% 1.04x
is_encodable_type[bytes[100]] 0.000019962328707244312 0.00001946702234748195 2.48% 2.54% 1.03x
is_encodable_type[bytes] 0.000019868454629629865 0.000019624674282791478 1.23% 1.24% 1.01x
is_encodable_type[bytes1] 0.000019738746768482297 0.00001916343888216882 2.91% 3.00% 1.03x
is_encodable_type[bytes10] 0.000019743853593968655 0.00001978713277786924 -0.22% -0.22% 1.00x
is_encodable_type[bytes11] 0.000020231444837850047 0.000019969561742263343 1.29% 1.31% 1.01x
is_encodable_type[bytes12] 0.000019751510454282194 0.00001943429173665809 1.61% 1.63% 1.02x
is_encodable_type[bytes13] 0.000019815782413645008 0.000019568330041018145 1.25% 1.26% 1.01x
is_encodable_type[bytes14] 0.000020209037436863565 0.00001957505018946559 3.14% 3.24% 1.03x
is_encodable_type[bytes15] 0.000020063449853795935 0.000019462908987241167 2.99% 3.09% 1.03x
is_encodable_type[bytes16[3]] 0.00002025940460337507 0.000019443119777552646 4.03% 4.20% 1.04x
is_encodable_type[bytes16] 0.00002022642719197637 0.00001942222833185716 3.98% 4.14% 1.04x
is_encodable_type[bytes17] 0.00002026511854078814 0.00001962426186454603 3.16% 3.27% 1.03x
is_encodable_type[bytes18] 0.000019936609215028925 0.000019819558602253945 0.59% 0.59% 1.01x
is_encodable_type[bytes19] 0.000019880047110526556 0.000019556684853292566 1.63% 1.65% 1.02x
is_encodable_type[bytes2] 0.00001983095772995445 0.000019318436772257776 2.58% 2.65% 1.03x
is_encodable_type[bytes20] 0.00002013713496538817 0.000019402461504233234 3.65% 3.79% 1.04x
is_encodable_type[bytes21] 0.000019925853696539885 0.000019671448462015104 1.28% 1.29% 1.01x
is_encodable_type[bytes22] 0.00001982294739699124 0.000019457489333260154 1.84% 1.88% 1.02x
is_encodable_type[bytes23] 0.000019738048391951402 0.00001956521521744291 0.88% 0.88% 1.01x
is_encodable_type[bytes24] 0.000019737000198571822 0.000019587429866023593 0.76% 0.76% 1.01x
is_encodable_type[bytes25] 0.00002015073345480197 0.000019698631466222824 2.24% 2.30% 1.02x
is_encodable_type[bytes26] 0.00001964742014596373 0.00001945231605276761 0.99% 1.00% 1.01x
is_encodable_type[bytes27] 0.000019710757906536565 0.000019370713979503418 1.73% 1.76% 1.02x
is_encodable_type[bytes28] 0.000020451750730481132 0.00001929318745123937 5.66% 6.01% 1.06x
is_encodable_type[bytes29] 0.00001981028388770205 0.000019544503678528987 1.34% 1.36% 1.01x
is_encodable_type[bytes3] 0.000020197763229664473 0.000019466880448742443 3.62% 3.75% 1.04x
is_encodable_type[bytes30] 0.000019649992495156282 0.000019543606608556015 0.54% 0.54% 1.01x
is_encodable_type[bytes31] 0.000019767878807672957 0.00001962226970566374 0.74% 0.74% 1.01x
is_encodable_type[bytes32[2]] 0.00001995264252484594 0.000019580554767338725 1.86% 1.90% 1.02x
is_encodable_type[bytes32] 0.000020023179712315302 0.0000195553188114843 2.34% 2.39% 1.02x
is_encodable_type[bytes4] 0.000020164900987179438 0.000019451285105633686 3.54% 3.67% 1.04x
is_encodable_type[bytes5] 0.00001977893971082496 0.000019576171542251138 1.03% 1.04% 1.01x
is_encodable_type[bytes6] 0.000020194001067389165 0.000019401151482647 3.93% 4.09% 1.04x
is_encodable_type[bytes7] 0.00001956021008201489 0.000019502570127762767 0.29% 0.30% 1.00x
is_encodable_type[bytes8[4]] 0.00002014105143826379 0.000019617608190430718 2.60% 2.67% 1.03x
is_encodable_type[bytes8] 0.000020119291797307513 0.00001950713239158456 3.04% 3.14% 1.03x
is_encodable_type[bytes9] 0.000020117807075310887 0.000019605479964747237 2.55% 2.61% 1.03x
is_encodable_type[fixed128x1] 0.00002019679425093323 0.00001959929603852113 2.96% 3.05% 1.03x
is_encodable_type[fixed128x10] 0.00002001852653610495 0.00001946316897368214 2.77% 2.85% 1.03x
is_encodable_type[fixed128x18] 0.000019828879388449206 0.00001963705504974441 0.97% 0.98% 1.01x
is_encodable_type[fixed128x2] 0.000019726387274193858 0.000023242458746237715 -17.82% -15.13% 0.85x
is_encodable_type[fixed16x1] 0.00001985177150457676 0.00001946871910702431 1.93% 1.97% 1.02x
is_encodable_type[fixed16x2] 0.000020050320055673946 0.00001945908961181308 2.95% 3.04% 1.03x
is_encodable_type[fixed256x1] 0.000019890169093225967 0.000019293154584240265 3.00% 3.09% 1.03x
is_encodable_type[fixed256x10] 0.00002000735381358247 0.000019419206980747925 2.94% 3.03% 1.03x
is_encodable_type[fixed256x18] 0.000019684777969432216 0.00001954253409455976 0.72% 0.73% 1.01x
is_encodable_type[fixed256x2] 0.000020101320675081717 0.00001987194680824695 1.14% 1.15% 1.01x
is_encodable_type[fixed32x1] 0.000019667295888024917 0.000019405179095920875 1.33% 1.35% 1.01x
is_encodable_type[fixed32x2[]] 0.000020018520473185062 0.000019404347201388035 3.07% 3.17% 1.03x
is_encodable_type[fixed32x2[2]] 0.000019672208571919858 0.00001932028302109923 1.79% 1.82% 1.02x
is_encodable_type[fixed32x2] 0.000020286840529682218 0.000019842846452390256 2.19% 2.24% 1.02x
is_encodable_type[fixed64x1] 0.000020333942589637107 0.000020459445732354602 -0.62% -0.61% 0.99x
is_encodable_type[fixed64x10] 0.000019544233194287107 0.000019522219024413952 0.11% 0.11% 1.00x
is_encodable_type[fixed64x18] 0.000019990451863340365 0.00001967716930393731 1.57% 1.59% 1.02x
is_encodable_type[fixed64x2] 0.00002025048100649206 0.00001948331123289425 3.79% 3.94% 1.04x
is_encodable_type[fixed8x1] 0.00001990404568106395 0.00001911378592871595 3.97% 4.13% 1.04x
is_encodable_type[fixed8x2] 0.000019792754124579443 0.000019861545214361355 -0.35% -0.35% 1.00x
is_encodable_type[function] 0.00001948019509315303 0.00001956436034455431 -0.43% -0.43% 1.00x
is_encodable_type[int128] 0.000019765638888352905 0.000019533725464932503 1.17% 1.19% 1.01x
is_encodable_type[int16] 0.000019913267332035673 0.000019612611098048152 1.51% 1.53% 1.02x
is_encodable_type[int256] 0.0000198667167961415 0.00001934816374536735 2.61% 2.68% 1.03x
is_encodable_type[int32] 0.000019972420590699968 0.000019435894870930445 2.69% 2.76% 1.03x
is_encodable_type[int64] 0.000019848495944271457 0.0000194898680415141 1.81% 1.84% 1.02x
is_encodable_type[int8] 0.000019961460141163627 0.00001966863852301874 1.47% 1.49% 1.01x
is_encodable_type[string[]] 0.000019620306203605222 0.000019575604641316034 0.23% 0.23% 1.00x
is_encodable_type[string[10]] 0.000019638243171002276 0.000019307454707291175 1.68% 1.71% 1.02x
is_encodable_type[string[2]] 0.00001970622521821625 0.000019885489745336936 -0.91% -0.90% 0.99x
is_encodable_type[string[5]] 0.000019950332889796322 0.000019303269688124786 3.24% 3.35% 1.03x
is_encodable_type[string] 0.00001983325661425405 0.00001952500351223634 1.55% 1.58% 1.02x
is_encodable_type[ufixed128x1] 0.000019598111701020613 0.000019554337313761703 0.22% 0.22% 1.00x
is_encodable_type[ufixed128x10] 0.000020043141459149327 0.00001944098997747781 3.00% 3.10% 1.03x
is_encodable_type[ufixed128x18] 0.00002024914895579671 0.00001933239925529439 4.53% 4.74% 1.05x
is_encodable_type[ufixed128x2] 0.000019760910228332666 0.000019475513043235217 1.44% 1.47% 1.01x
is_encodable_type[ufixed16x1] 0.000019608257634344474 0.000019488024010827605 0.61% 0.62% 1.01x
is_encodable_type[ufixed16x2] 0.000020245415772157605 0.000019239780418458583 4.97% 5.23% 1.05x
is_encodable_type[ufixed256x1] 0.000019797362742354238 0.000019424897592072164 1.88% 1.92% 1.02x
is_encodable_type[ufixed256x10] 0.000020049691202766346 0.00001946264660732246 2.93% 3.02% 1.03x
is_encodable_type[ufixed256x18] 0.000019713500951532856 0.000019352364813656454 1.83% 1.87% 1.02x
is_encodable_type[ufixed256x2] 0.000020028105806045995 0.00001939866862193214 3.14% 3.24% 1.03x
is_encodable_type[ufixed32x1] 0.00001983038099693104 0.00001939055251788411 2.22% 2.27% 1.02x
is_encodable_type[ufixed32x2] 0.00002000373038853686 0.000019372167314291213 3.16% 3.26% 1.03x
is_encodable_type[ufixed64x1] 0.000020028092233421616 0.000019537973757973912 2.45% 2.51% 1.03x
is_encodable_type[ufixed64x10] 0.00001988075719804068 0.000019339706273324603 2.72% 2.80% 1.03x
is_encodable_type[ufixed64x18] 0.000019888209473786177 0.00001955766390401085 1.66% 1.69% 1.02x
is_encodable_type[ufixed64x2] 0.00001985888853102102 0.000019560071431775838 1.50% 1.53% 1.02x
is_encodable_type[ufixed8x1] 0.000020179051537461376 0.00001941812005521164 3.77% 3.92% 1.04x
is_encodable_type[ufixed8x2] 0.000019817636052281127 0.00001965616486995761 0.81% 0.82% 1.01x
is_encodable_type[uint128] 0.000020115405529385574 0.000019463355518608866 3.24% 3.35% 1.03x
is_encodable_type[uint16] 0.000020297786685076774 0.00001939513438885714 4.45% 4.65% 1.05x
is_encodable_type[uint256[2][2]] 0.00001965725297691655 0.000019627370016805627 0.15% 0.15% 1.00x
is_encodable_type[uint256[2]] 0.000020026030848780684 0.000019358170495268382 3.33% 3.45% 1.03x
is_encodable_type[uint256] 0.00001956922145863403 0.000019538033964855998 0.16% 0.16% 1.00x
is_encodable_type[uint32] 0.000019753234090752688 0.000020519158661441286 -3.88% -3.73% 0.96x
is_encodable_type[uint64] 0.000019798098922261088 0.00001923203773557801 2.86% 2.94% 1.03x
is_encodable_type[uint8[][]] 0.000020058863469542178 0.00001938864959827383 3.34% 3.46% 1.03x
is_encodable_type[uint8[]] 0.000019862972503343758 0.00001974686543757207 0.58% 0.59% 1.01x
is_encodable_type[uint8[10]] 0.00002014938742686223 0.0000194694814833335 3.37% 3.49% 1.03x
is_encodable_type[uint8[100]] 0.00001985186045657126 0.000019552106579726773 1.51% 1.53% 1.02x
is_encodable_type[uint8[2][]] 0.000020260617130976593 0.00001955960874506254 3.46% 3.58% 1.04x
is_encodable_type[uint8[2][2][]] 0.00001992735812899363 0.000019758583540818744 0.85% 0.85% 1.01x
is_encodable_type[uint8[3]] 0.000019726100366372684 0.000019473536613329135 1.28% 1.30% 1.01x
is_encodable_type[uint8] 0.00001990504043402615 0.000019686240146887803 1.10% 1.11% 1.01x
is_encodable[((uint8,uint8),uint8)-((1, 2), 3)] 0.0004190116409770876 0.0003763441490253911 10.18% 11.34% 1.11x
is_encodable[((uint8[2],(string,bool)),bytes32)-(([1, 2], ('hi',] 0.0006416123026041721 0.0006013542491953111 6.27% 6.69% 1.07x
is_encodable[((uint8[2][2],(string[2],bool[2])),bytes32[2])-(([[1, 2], [3, 4] 0.0011780800496905743 0.0010654718876556984 9.56% 10.57% 1.11x
is_encodable[(address,uint8)-(b'\\x00\\x00\\x00\\] 0.00024139801797693936 0.00021169407934218902 12.30% 14.03% 1.14x
is_encodable[(bytes[],string[])-([], [])] 0.0002647242541238129 0.00025210278224822315 4.77% 5.01% 1.05x
is_encodable[(bytes1,bytes2,bytes3,bytes4)-(b'\\x01', b'\\x01] 0.00021957859824512995 0.00021746037562178736 0.96% 0.97% 1.01x
is_encodable[(bytes32[],string[])-([b'\\x00\\x00\\x00] 0.00035360670978637027 0.000327800681835181 7.30% 7.87% 1.08x
is_encodable[(fixed32x2,uint8)-(Decimal('3.14')] 0.0008841268042221648 0.0005712772043627574 35.39% 54.76% 1.55x
is_encodable[(function,uint256)-(b'\\x01\\x01\\x01\\] 0.000259147114054584 0.00021505268026858522 17.02% 20.50% 1.21x
is_encodable[(string,bytes)-('foo', b'bar')] 0.0001940746468116995 0.0001880310857430288 3.11% 3.21% 1.03x
is_encodable[(string[],bytes[])-([''], [b''])] 0.00030240060354586165 0.0002914573047686599 3.62% 3.75% 1.04x
is_encodable[(string[],bytes[])-([], [])] 0.0002594220687423163 0.0002482276974775983 4.32% 4.51% 1.05x
is_encodable[(uint256,bool)-(42, True)] 0.00025372969980496035 0.0002077833318529319 18.11% 22.11% 1.22x
is_encodable[(uint256[],(string[],bool))-([1, 2, 3], (['a] 0.0006881741183551633 0.0005464367721619119 20.60% 25.94% 1.26x
is_encodable[(uint256[2],string)-([1, 2], 'baz')] 0.00039644536474094203 0.00030724988746166866 22.50% 29.03% 1.29x
is_encodable[(uint8,(bool,string))-(7, (False, 'hi'] 0.0003759175261275471 0.00034881210563226427 7.21% 7.77% 1.08x
is_encodable[(uint8[],string)-([], '')] 0.00023805031541631426 0.00022598697756298823 5.07% 5.34% 1.05x
is_encodable[(uint8[][],string)-([[]], '')] 0.00028359401786772636 0.0002697767707427763 4.87% 5.12% 1.05x
is_encodable[(uint8[2],(string,bool[2]))-([1, 2], ('x', [] 0.0005821659570735552 0.0005393051042406183 7.36% 7.95% 1.08x
is_encodable[(uint8[2][],string[])-([], [])] 0.0002643145863570526 0.0002520513408384698 4.64% 4.87% 1.05x
is_encodable[(uint8[2][2],(string[2],bool[2]))-([[1, 2], [3, 4]] 0.0009210256114909298 0.0008179299078230305 11.19% 12.60% 1.13x
is_encodable[(uint8[2][2][],string[])-([], [])] 0.0002640089677329439 0.000252253197695453 4.45% 4.66% 1.05x
is_encodable[(uint8[2][2][2],string)-([[[1, 2], [3, 4] 0.0010461179474822214 0.0009038365694108012 13.60% 15.74% 1.16x
is_encodable[(uint8[2][2][2][2],string[2])-([[[[1, 2], [3, ] 0.0020574241762290058 0.0017599310857597456 14.46% 16.90% 1.17x
is_encodable[(uint8[2][2][2][2][],string[])-([], [])] 0.00026503857000366785 0.00025011423535750216 5.63% 5.97% 1.06x
is_encodable[(uint8[2][2][2][2][2],string[2][2])-([[[[[1, 2], [3,] 0.0040630931174095546 0.0035429388381302317 12.80% 14.68% 1.15x
is_encodable[(uint8[3],(string[2],bool[2]))-([1, 2, 3], (['a] 0.0007204859836322374 0.00063796018638096 11.45% 12.94% 1.13x
is_encodable[address-b'\\x00\\x00\\x00\\x] 0.00006368754956063523 0.00003909457035617922 38.62% 62.91% 1.63x
is_encodable[address-b'\\xff\\xff\\xff\\x] 0.00006358897043459992 0.0000388767900901293 38.86% 63.57% 1.64x
is_encodable[address[2]-[b'\\x00\\x00\\x00\\] 0.0001712032337592183 0.00013134425203591957 23.28% 30.35% 1.30x
is_encodable[bool-False] 0.00004488863621145437 0.00003275487206394413 27.03% 37.04% 1.37x
is_encodable[bool-True] 0.00004462111328693603 0.000032666310690771716 26.79% 36.60% 1.37x
is_encodable[bool[][2]-[[True, False], ] 0.00027755186001731947 0.00025268986544441937 8.96% 9.84% 1.10x
is_encodable[bool[4]-[True, False, Tr] 0.00016770422732174776 0.00014485397738959053 13.63% 15.77% 1.16x
is_encodable[bytes-b''] 0.000047129929127026336 0.00003733955097266557 20.77% 26.22% 1.26x
is_encodable[bytes-b'\\x00\\x00\\x00\\x0] 0.0000450731869843784 0.000037136704943072054 17.61% 21.37% 1.21x
is_encodable[bytes-b'\\x00\\x00\\x00\\x1] 0.00004551150270882832 0.000038793897713351456 14.76% 17.32% 1.17x
is_encodable[bytes-b'aaaaaaaaaaaaaa] 0.00004544878470755472 0.00003680608815940029 19.02% 23.48% 1.23x
is_encodable[bytes-b'hello world'] 0.00004515392480128363 0.00003708293133299824 17.87% 21.76% 1.22x
is_encodable[bytes[]-[]0] 0.00008369343897741716 0.00008154881123393468 2.56% 2.63% 1.03x
is_encodable[bytes[]-[]1] 0.00008412792343917113 0.00008224322543086777 2.24% 2.29% 1.02x
is_encodable[bytes[]-[b'abc', b'def',] 0.00013597153767259707 0.00012749215810561561 6.24% 6.65% 1.07x
is_encodable[bytes[10]-[b'\\x00\\x00\\x00\\] 0.00025051933897324383 0.00024916177993720816 0.54% 0.54% 1.01x
is_encodable[bytes[100]-[b'\\x00\\x00\\x00\\] 0.0016186719849501452 0.0016450351647268272 -1.63% -1.60% 0.98x
is_encodable[bytes1-b'\\x01'] 0.00004469331626848538 0.00004377766961915824 2.05% 2.09% 1.02x
is_encodable[bytes10-b'\\x01\\x01\\x01\\x] 0.00004538721150676675 0.00004443937476768479 2.09% 2.13% 1.02x
is_encodable[bytes11-b'\\x01\\x01\\x01\\x] 0.00004551657058617239 0.00004466660653286043 1.87% 1.90% 1.02x
is_encodable[bytes12-b'\\x01\\x01\\x01\\x] 0.00004541950257363083 0.00004401483643437916 3.09% 3.19% 1.03x
is_encodable[bytes13-b'\\x01\\x01\\x01\\x] 0.00004532104048020584 0.00004399913976016277 2.92% 3.00% 1.03x
is_encodable[bytes14-b'\\x01\\x01\\x01\\x] 0.00004530372631361414 0.00004415879977062806 2.53% 2.59% 1.03x
is_encodable[bytes15-b'\\x01\\x01\\x01\\x] 0.00004516460659360646 0.000044328358692758404 1.85% 1.89% 1.02x
is_encodable[bytes16-b'\\x01\\x01\\x01\\x] 0.00004493962399827745 0.00004417466822389833 1.70% 1.73% 1.02x
is_encodable[bytes16[3]-[b'\\x01\\x01\\x01\\] 0.0001481670275394413 0.00013915613413378666 6.08% 6.48% 1.06x
is_encodable[bytes17-b'\\x01\\x01\\x01\\x] 0.000044954940716307854 0.00004467351246004449 0.63% 0.63% 1.01x
is_encodable[bytes18-b'\\x01\\x01\\x01\\x] 0.000045190132471660255 0.000044213442644586083 2.16% 2.21% 1.02x
is_encodable[bytes19-b'\\x01\\x01\\x01\\x] 0.00004496931974727495 0.0000440510311247872 2.04% 2.08% 1.02x
is_encodable[bytes2-b'\\x01\\x01'] 0.00004550969602008884 0.0000437335680727667 3.90% 4.06% 1.04x
is_encodable[bytes20-b'\\x01\\x01\\x01\\x] 0.000044905147018360205 0.000044424901975341815 1.07% 1.08% 1.01x
is_encodable[bytes21-b'\\x01\\x01\\x01\\x] 0.0000451571542199389 0.00004440400405945993 1.67% 1.70% 1.02x
is_encodable[bytes22-b'\\x01\\x01\\x01\\x] 0.00004502820377847287 0.000044282908335501874 1.66% 1.68% 1.02x
is_encodable[bytes23-b'\\x01\\x01\\x01\\x] 0.0000452870706853233 0.00004456492907235129 1.59% 1.62% 1.02x
is_encodable[bytes24-b'\\x01\\x01\\x01\\x] 0.00004509795395306331 0.00004436847487847302 1.62% 1.64% 1.02x
is_encodable[bytes25-b'\\x01\\x01\\x01\\x] 0.00004542061519983237 0.00004396026429662532 3.22% 3.32% 1.03x
is_encodable[bytes26-b'\\x01\\x01\\x01\\x] 0.00004482048364325992 0.00004446167572961279 0.80% 0.81% 1.01x
is_encodable[bytes27-b'\\x01\\x01\\x01\\x] 0.00004507386675243427 0.000044537371414359714 1.19% 1.20% 1.01x
is_encodable[bytes28-b'\\x01\\x01\\x01\\x] 0.000044808866205089964 0.00004475399676633172 0.12% 0.12% 1.00x
is_encodable[bytes29-b'\\x01\\x01\\x01\\x] 0.00004465174931435076 0.00004445282965695563 0.45% 0.45% 1.00x
is_encodable[bytes3-b'\\x01\\x01\\x01'] 0.00004535321967728975 0.00004420784061488378 2.53% 2.59% 1.03x
is_encodable[bytes30-b'\\x01\\x01\\x01\\x] 0.000044767347729310285 0.00004408402755111308 1.53% 1.55% 1.02x
is_encodable[bytes31-b'\\x01\\x01\\x01\\x] 0.0000446446763360346 0.0000438965333301606 1.68% 1.70% 1.02x
is_encodable[bytes32-b'\\x01\\x01\\x01\\x] 0.00004476103686571853 0.00004426522959127042 1.11% 1.12% 1.01x
is_encodable[bytes32[2]-[b'\\x00\\x00\\x00\\] 0.00013326734329052715 0.00012220602348645012 8.30% 9.05% 1.09x
is_encodable[bytes4-b'\\x01\\x01\\x01\\x] 0.00004523325079586136 0.00004393238942252871 2.88% 2.96% 1.03x
is_encodable[bytes5-b'\\x01\\x01\\x01\\x] 0.00004532467053621822 0.00004460064333684696 1.60% 1.62% 1.02x
is_encodable[bytes6-b'\\x01\\x01\\x01\\x] 0.00004522441290546494 0.000044389076049884324 1.85% 1.88% 1.02x
is_encodable[bytes7-b'\\x01\\x01\\x01\\x] 0.00004538582087500031 0.000044184362513239034 2.65% 2.72% 1.03x
is_encodable[bytes8-b'\\x01\\x01\\x01\\x] 0.00004535017694753373 0.00004456501838690367 1.73% 1.76% 1.02x
is_encodable[bytes8[4]-[b'\\x01\\x01\\x01\\] 0.00016414574605507458 0.00015283228786335977 6.89% 7.40% 1.07x
is_encodable[bytes9-b'\\x01\\x01\\x01\\x] 0.00004649122697415483 0.000044545030325858525 4.19% 4.37% 1.04x
is_encodable[fixed128x1-Decimal('1.2')] 0.0007257256377484603 0.00038155734365784283 47.42% 90.20% 1.90x
is_encodable[fixed128x10-Decimal('1.20000] 0.0007416159422626304 0.0003838901841877234 48.24% 93.18% 1.93x
is_encodable[fixed128x18-Decimal('1.20000] 0.0007440240169245708 0.00038793574744401386 47.86% 91.79% 1.92x
is_encodable[fixed128x2-Decimal('1.20')] 0.0007313428836831719 0.00038162279753363047 47.82% 91.64% 1.92x
is_encodable[fixed16x1-Decimal('1.2')] 0.0006506606819118316 0.0003797622124625025 41.63% 71.33% 1.71x
is_encodable[fixed16x2-Decimal('1.20')] 0.0006563232518819461 0.00037985210956747724 42.12% 72.78% 1.73x
is_encodable[fixed256x1-Decimal('1.2')] 0.0007729334324760387 0.00037897852991568444 50.97% 103.95% 2.04x
is_encodable[fixed256x10-Decimal('1.20000] 0.0007873111134092664 0.0003862220042181485 50.94% 103.85% 2.04x
is_encodable[fixed256x18-Decimal('1.20000] 0.000789286195266167 0.00038381273369724074 51.37% 105.64% 2.06x
is_encodable[fixed256x2-Decimal('1.20')] 0.0007775947730201382 0.00038238817794637237 50.82% 103.35% 2.03x
is_encodable[fixed32x1-Decimal('1.2')] 0.0006796112162143629 0.0003801669639878702 44.06% 78.77% 1.79x
is_encodable[fixed32x2-Decimal('1.20')] 0.0006797816368671432 0.00038196178312705246 43.81% 77.97% 1.78x
is_encodable[fixed32x2[]-[]0] 0.00008442875225081971 0.00008140983503875306 3.58% 3.71% 1.04x
is_encodable[fixed32x2[]-[]1] 0.0000827502940771919 0.00008237555347546031 0.45% 0.45% 1.00x
is_encodable[fixed32x2[2]-[Decimal('3.14')] 0.0013963259910444472 0.0008013285923690862 42.61% 74.25% 1.74x
is_encodable[fixed64x1-Decimal('1.2')] 0.0006919444431565493 0.0003812616654678874 44.90% 81.49% 1.81x
is_encodable[fixed64x10-Decimal('1.20000] 0.0007087024888883881 0.00038652490737836273 45.46% 83.35% 1.83x
is_encodable[fixed64x18-Decimal('1.20000] 0.0007133249264373148 0.00038684703652423443 45.77% 84.39% 1.84x
is_encodable[fixed64x2-Decimal('1.20')] 0.0007009420917021662 0.00038168576268583315 45.55% 83.64% 1.84x
is_encodable[fixed8x1-Decimal('1.2')] 0.0006389498760333673 0.0003801876161956128 40.50% 68.06% 1.68x
is_encodable[fixed8x2-Decimal('1.20')] 0.0006398541236009066 0.0003819071302967191 40.31% 67.54% 1.68x
is_encodable[function-b'\\x00\\x00\\x00\\x] 0.00004357664187645123 0.00004446865249573956 -2.05% -2.01% 0.98x
is_encodable[function-b'\\x01\\x01\\x01\\x] 0.000043780270266874586 0.00004439117509395549 -1.40% -1.38% 0.99x
is_encodable[function-b'\\xff\\xff\\xff\\x] 0.0000437974759065888 0.000044795656365994813 -2.28% -2.23% 0.98x
is_encodable[int128--170141183460469] 0.00014668757169867015 0.00006469689100498792 55.89% 126.73% 2.27x
is_encodable[int128-1701411834604692] 0.00014533714679921574 0.00006532687698416692 55.05% 122.48% 2.22x
is_encodable[int16--32768] 0.00009218143920889804 0.00006403128648487311 30.54% 43.96% 1.44x
is_encodable[int16-32767] 0.00009070950571307277 0.00006396131231871609 29.49% 41.82% 1.42x
is_encodable[int256--578960446186580] 0.00016814202869897137 0.00006499266211114681 61.35% 158.71% 2.59x
is_encodable[int256-5789604461865809] 0.0001691226102942771 0.00006477590001361854 61.70% 161.09% 2.61x
is_encodable[int32--2147483648] 0.00011411734959278891 0.00006928484693529869 39.29% 64.71% 1.65x
is_encodable[int32-2147483647] 0.00011200502195980918 0.00006940324138671824 38.04% 61.38% 1.61x
is_encodable[int64--922337203685477] 0.00012853101078502292 0.000064199755229791 50.05% 100.20% 2.00x
is_encodable[int64-9223372036854775] 0.00012889333685900652 0.00006443110144964998 50.01% 100.05% 2.00x
is_encodable[int8--128] 0.00008048028050077674 0.00006171599811379299 23.32% 30.40% 1.30x
is_encodable[int8-127] 0.00007984683199365482 0.00006187374728757355 22.51% 29.05% 1.29x
is_encodable[string-''] 0.0000474858723010207 0.000033004006766699544 30.50% 43.88% 1.44x
is_encodable[string-'\U0001d518\U0001d52b\U0001d526\U0001d520\U0001d52c\U0001d521\U0001d522'] 0.000046191309519051406 0.000033250448245879916 28.02% 38.92% 1.39x
is_encodable[string-'aaaaaaaaaaaaaaa0] 0.0000457725032985614 0.00003319650218316758 27.48% 37.88% 1.38x
is_encodable[string-'aaaaaaaaaaaaaaa1] 0.00004650125241202191 0.00003262843812863066 29.83% 42.52% 1.43x
is_encodable[string-'bbbbbbbbbbbbbbb] 0.00004506218006510754 0.000032820682008495185 27.17% 37.30% 1.37x
is_encodable[string-'hello world'] 0.00004609585752365099 0.000032751460842327907 28.95% 40.74% 1.41x
is_encodable[string[]-['a', 'b', 'c']] 0.00013607994802549559 0.00012043593373884177 11.50% 12.99% 1.13x
is_encodable[string[]-[]0] 0.00008531681103182664 0.00008149359829508546 4.48% 4.69% 1.05x
is_encodable[string[]-[]1] 0.00008560670367542611 0.00008220569923449079 3.97% 4.14% 1.04x
is_encodable[string[10]-['0', '1', '2', ] 0.0002499852159894531 0.00021858208534653384 12.56% 14.37% 1.14x
is_encodable[string[2]-['foo', 'bar']] 0.0001326593038702561 0.00011951821073598373 9.91% 11.00% 1.11x
is_encodable[string[5]-['a', 'b', 'c', ] 0.0001794374797200257 0.0001571021963930637 12.45% 14.22% 1.14x
is_encodable[ufixed128x1-Decimal('1.2')] 0.00063726656442629 0.00037931529111564133 40.48% 68.00% 1.68x
is_encodable[ufixed128x10-Decimal('1.20000] 0.0006556666098846186 0.00038641537917927785 41.07% 69.68% 1.70x
is_encodable[ufixed128x18-Decimal('1.20000] 0.0006537833310164352 0.0003857244923924916 41.00% 69.49% 1.69x
is_encodable[ufixed128x2-Decimal('1.20')] 0.0006395823121717062 0.00038069770838148974 40.48% 68.00% 1.68x
is_encodable[ufixed16x1-Decimal('1.2')] 0.0006093830093105951 0.0003806997979017597 37.53% 60.07% 1.60x
is_encodable[ufixed16x2-Decimal('1.20')] 0.0006145622266584849 0.0003813325532098647 37.95% 61.16% 1.61x
is_encodable[ufixed256x1-Decimal('1.2')] 0.0006697918371758205 0.0003766626864001828 43.76% 77.82% 1.78x
is_encodable[ufixed256x10-Decimal('1.20000] 0.0006792185912291782 0.00038401404957936325 43.46% 76.87% 1.77x
is_encodable[ufixed256x18-Decimal('1.20000] 0.0006770498710534013 0.0003881294129998532 42.67% 74.44% 1.74x
is_encodable[ufixed256x2-Decimal('1.20')] 0.0006648369337390348 0.00037718114177400517 43.27% 76.26% 1.76x
is_encodable[ufixed32x1-Decimal('1.2')] 0.0006209960416138514 0.0003839739257386867 38.17% 61.73% 1.62x
is_encodable[ufixed32x2-Decimal('1.20')] 0.0006208381622484886 0.00038184637315914993 38.50% 62.59% 1.63x
is_encodable[ufixed64x1-Decimal('1.2')] 0.0006223164480563501 0.0003794860037620983 39.02% 63.99% 1.64x
is_encodable[ufixed64x10-Decimal('1.20000] 0.0006452709833796056 0.00038669450423326027 40.07% 66.87% 1.67x
is_encodable[ufixed64x18-Decimal('1.20000] 0.0006445882204726836 0.0003875469567976189 39.88% 66.33% 1.66x
is_encodable[ufixed64x2-Decimal('1.20')] 0.0006265578557673734 0.0003818417859436202 39.06% 64.09% 1.64x
is_encodable[ufixed8x1-Decimal('1.2')] 0.0006056930339969981 0.0003784489108301032 37.52% 60.05% 1.60x
is_encodable[ufixed8x2-Decimal('1.20')] 0.0006053960492905301 0.00038039766196081823 37.17% 59.15% 1.59x
is_encodable[uint128-3402823669209384] 0.00009410521570223695 0.00006442248114327937 31.54% 46.08% 1.46x
is_encodable[uint16-65535] 0.00007574931781820365 0.00006188867908422355 18.30% 22.40% 1.22x
is_encodable[uint256-0] 0.00010156252287600554 0.00006426794039516403 36.72% 58.03% 1.58x
is_encodable[uint256-1157920892373161] 0.00010291495860950449 0.00006393360305762439 37.88% 60.97% 1.61x
is_encodable[uint256[2]-[0, 115792089237] 0.00024659557815050225 0.00016554553261303876 32.87% 48.96% 1.49x
is_encodable[uint256[2][2]-[[1, 2], [3, 4]]] 0.0005243173192419026 0.00036472872593119844 30.44% 43.76% 1.44x
is_encodable[uint32-4294967295] 0.00008262329214751844 0.0000650714525772037 21.24% 26.97% 1.27x
is_encodable[uint64-1844674407370955] 0.0000886324641894339 0.00006438522503852715 27.36% 37.66% 1.38x
is_encodable[uint8-0] 0.00007050056876870662 0.00005893446595353019 16.41% 19.63% 1.20x
is_encodable[uint8-255] 0.0000700155604015694 0.00005914659654256856 15.52% 18.38% 1.18x
is_encodable[uint8[]-[]0] 0.0000842988060105635 0.0000820803947408509 2.63% 2.70% 1.03x
is_encodable[uint8[]-[]1] 0.00008449092509380668 0.00008111178258467342 4.00% 4.17% 1.04x
is_encodable[uint8[]-[1, 2, 3, 4, 5]] 0.00029691320803546103 0.00022648756394612254 23.72% 31.09% 1.31x
is_encodable[uint8[][]-[[]]] 0.00013566653538314735 0.00013166741982829943 2.95% 3.04% 1.03x
is_encodable[uint8[10]-[0, 1, 2, 3, 4, ] 0.0004942804941483334 0.0003742275782226395 24.29% 32.08% 1.32x
is_encodable[uint8[100]-[0, 1, 2, 3, 4, ] 0.0042136895258649025 0.002809408011396635 33.33% 49.98% 1.50x
is_encodable[uint8[2][]-[]] 0.00008412714666155814 0.0000815191145276196 3.10% 3.20% 1.03x
is_encodable[uint8[2][2][]-[]] 0.0000843178282319572 0.00008118479760872355 3.72% 3.86% 1.04x
is_encodable[uint8[3]-[1, 2, 3]] 0.000224342299303305 0.00018367445814074872 18.13% 22.14% 1.22x

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.0016414746925744702 0.0006951180028487437 57.65% 136.14% 2.36x
address_decoder[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01] 0.0016488302810742156 0.000690902790324275 58.10% 138.65% 2.39x
address_decoder[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02] 0.0016548902319606686 0.0006899093997049274 58.31% 139.87% 2.40x
address_decoder[\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x00] 0.0016482756873941798 0.0006910436783603111 58.07% 138.52% 2.39x
address_decoder[\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01] 0.0016376763702364739 0.0006903286984573297 57.85% 137.23% 2.37x
address_decoder[\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12] 0.0016392878979631024 0.0006911602266084785 57.84% 137.18% 2.37x
address_decoder[\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff] 0.001649501785843803 0.0006965666130970219 57.77% 136.80% 2.37x
boolean_decoder[False] 0.0008804383111940692 0.00039924941161382144 54.65% 120.52% 2.21x
boolean_decoder[True] 0.00090015549391028 0.00040258247012510634 55.28% 123.60% 2.24x
bytes32_decoder[b''] 0.0008790014420731809 0.00041085389840619837 53.26% 113.95% 2.14x
bytes32_decoder[b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'] 0.0008763558726965411 0.0004067882191588236 53.58% 115.43% 2.15x
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.0008854286935812039 0.0004098108971499025 53.72% 116.06% 2.16x
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.000887449941978277 0.0004085811474600688 53.96% 117.20% 2.17x
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.0008817249427785385 0.00040810335362942646 53.72% 116.05% 2.16x
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.0008819323180971712 0.00040794036417263343 53.74% 116.19% 2.16x
bytes32_decoder[b'abcabcabcabcabcabcabcabcabcabcde'] 0.0008845651109082398 0.0004101719665173269 53.63% 115.66% 2.16x
string_decoder['a' * 256] 0.001407082291484211 0.0007055728759220152 49.86% 99.42% 1.99x
string_decoder['b' * 1024] 0.0014458574219425565 0.0007535173680801059 47.88% 91.88% 1.92x
string_decoder['c' * 4096] 0.0014980267290319892 0.0007929030632663351 47.07% 88.93% 1.89x
string_decoder['d' * 8192] 0.001571767016590022 0.0008583697096205517 45.39% 83.11% 1.83x
string_decoder['e' * 16384] 0.0017286539397787237 0.0009565601414324754 44.66% 80.72% 1.81x
string_decoder['f' * 32768] 0.0020520420743996193 0.0012654052686955624 38.33% 62.16% 1.62x
string_decoder['g' * 65536] 0.0025334215643864535 0.0017258093648121287 31.88% 46.80% 1.47x
string_decoder[empty] 0.0013772161595684655 0.0006944215559020553 49.58% 98.33% 1.98x
string_decoder[hello-world] 0.0014054316088271581 0.0007138923348195752 49.20% 96.87% 1.97x
string_decoder[newline] 0.0014062686020865766 0.0007133039857769732 49.28% 97.15% 1.97x
string_decoder[null-byte] 0.0014134486427564868 0.0007099166237847769 49.77% 99.10% 1.99x
string_decoder[unicode] 0.0014397816824416032 0.0007358517560174787 48.89% 95.66% 1.96x
string_decoder[very-long] 0.0030377105063704732 0.002171902659422237 28.50% 39.86% 1.40x
tuple_decoder[addr-uint8] 0.002136418158022694 0.0009793700945838948 54.16% 118.14% 2.18x
tuple_decoder[arrs] 0.0026478148421098424 0.0014992667383607928 43.38% 76.61% 1.77x
tuple_decoder[bytes-string] 0.0018345264058900604 0.0009410970864173072 48.70% 94.93% 1.95x
tuple_decoder[bytes32s-strings] 0.0037163338181876193 0.002087124474033787 43.84% 78.06% 1.78x
tuple_decoder[int-bool-string] 0.002450006125665317 0.0013810557751496577 43.63% 77.40% 1.77x
tuple_decoder[int-bool] 0.001316194488987246 0.0006414167853176896 51.27% 105.20% 2.05x
uint256_decoder[0] 0.0009266122909867799 0.00043982633383120854 52.53% 110.68% 2.11x
uint256_decoder[1] 0.000930670248781098 0.0004389234440768589 52.84% 112.03% 2.12x
uint256_decoder[115792089237316195423570985008687907853269984665640564039457584007913129639935] 0.0009464284017838505 0.000446155405352568 52.86% 112.13% 2.12x
uint256_decoder[12345678901234567890] 0.0009293903284012897 0.0004422397628143369 52.42% 110.16% 2.10x
uint256_decoder[18446744073709551616] 0.0009260056391008928 0.00044657333812823583 51.77% 107.36% 2.07x
uint256_decoder[340282366920938463463374607431768211456] 0.0009320651875615128 0.00044404780105332256 52.36% 109.90% 2.10x
uint256_decoder[42] 0.0009313420490149624 0.0004389155449377401 52.87% 112.19% 2.12x
uint256_decoder[4294967296] 0.0009307592790271262 0.0004465959801001889 52.02% 108.41% 2.08x
uint256_decoder[57896044618658097711785492504343953926634992332820282019728792003956564819967] 0.0009313344193886909 0.00044734562569669116 51.97% 108.19% 2.08x
uint256_decoder[57896044618658097711785492504343953926634992332820282019728792003956564819968] 0.0009449028906161061 0.00044569325323465714 52.83% 112.01% 2.12x
uint256_decoder[65536] 0.0009300926375113038 0.0004442809613263175 52.23% 109.35% 2.09x
uint256_decoder[999999999999999999999999999999] 0.0009205118592062621 0.00044470838088425907 51.69% 106.99% 2.07x

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.001250086685974757 0.00044128143136508484 64.70% 183.29% 2.83x
address_encoder[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01] 0.0012668881951177385 0.0004430300875563475 65.03% 185.96% 2.86x
address_encoder[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02] 0.001244287133150062 0.00044160399570607146 64.51% 181.77% 2.82x
address_encoder[\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x00] 0.0012513359784674391 0.0004430960394346535 64.59% 182.41% 2.82x
address_encoder[\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01] 0.001257792499331156 0.00044288784615159474 64.79% 184.00% 2.84x
address_encoder[\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12] 0.001247448607144903 0.0004402053997258588 64.71% 183.38% 2.83x
address_encoder[\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff] 0.0012529901295070054 0.00044707337006008835 64.32% 180.26% 2.80x
boolean_encoder[False] 0.0007338849110733753 0.0002605867213713729 64.49% 181.63% 2.82x
boolean_encoder[True] 0.0007332197843816197 0.0002573260143646953 64.90% 184.94% 2.85x
bytes32_encoder[] 0.0007182871890425299 0.0002614802628191934 63.60% 174.70% 2.75x
bytes32_encoder[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00] 0.0007107151462655254 0.00026037379352966764 63.36% 172.96% 2.73x
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.0007057352745983548 0.00025583973744548977 63.75% 175.85% 2.76x
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.0007024549703863299 0.00025284959303518534 64.00% 177.82% 2.78x
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.0007222543810262647 0.00025382587944123024 64.86% 184.55% 2.85x
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.00070998906696218 0.0002553429893160852 64.04% 178.05% 2.78x
bytes32_encoder[abcabcabcabcabcabcabcabcabcabcde] 0.0007132921915235288 0.0002545201038255739 64.32% 180.25% 2.80x
string_encoder['a' * 256] 0.0011257341004823993 0.0004270122923893343 62.07% 163.63% 2.64x
string_encoder['b' * 1024] 0.001162836440251786 0.0004713671449697213 59.46% 146.69% 2.47x
string_encoder['c' * 4096] 0.0011885900620116103 0.0004811186909066655 59.52% 147.05% 2.47x
string_encoder['d' * 8192] 0.0012403034079476213 0.0005279966649874698 57.43% 134.91% 2.35x
string_encoder['e' * 16384] 0.0013320930844017828 0.0006156283419844946 53.78% 116.38% 2.16x
string_encoder['f' * 32768] 0.0015302547804877554 0.000700670417937043 54.21% 118.40% 2.18x
string_encoder['g' * 65536] 0.0021596489955642882 0.001215527589125295 43.72% 77.67% 1.78x
string_encoder[empty] 0.0011154455459947915 0.0004211638726034472 62.24% 164.85% 2.65x
string_encoder[hello-world] 0.0011179168667451733 0.00042835623094362665 61.68% 160.98% 2.61x
string_encoder[newline] 0.0011229646559911207 0.00042654722753828595 62.02% 163.27% 2.63x
string_encoder[null-byte] 0.0011463214376475754 0.0004290304126905223 62.57% 167.19% 2.67x
string_encoder[unicode] 0.0011239831380565073 0.0004323665024782931 61.53% 159.96% 2.60x
string_encoder[very-long] 0.0022065362598097825 0.0013381427669377818 39.36% 64.90% 1.65x
tuple_encoder[addr-uint8] 0.0015836005918664878 0.0006079674633452356 61.61% 160.47% 2.60x
tuple_encoder[arrs] 0.0021884159124377846 0.0009513093208345443 56.53% 130.04% 2.30x
tuple_encoder[bytes-string] 0.0013217863758896743 0.0005542070673557986 58.07% 138.50% 2.39x
tuple_encoder[bytes32s-strings] 0.0030820573851129034 0.001134194885133089 63.20% 171.74% 2.72x
tuple_encoder[int-bool-string] 0.0018744556869975666 0.000771683973907677 58.83% 142.90% 2.43x
tuple_encoder[int-bool] 0.0010472604718728038 0.0004267006569318409 59.26% 145.43% 2.45x
uint256_encoder[0] 0.0008657086926613895 0.00031325771723902013 63.81% 176.36% 2.76x
uint256_encoder[1] 0.0008953266701144259 0.0003132327481672875 65.01% 185.83% 2.86x
uint256_encoder[115792089237316195423570985008687907853269984665640564039457584007913129639935] 0.0008839718230749068 0.00031806442441559984 64.02% 177.92% 2.78x
uint256_encoder[12345678901234567890] 0.0008699062814838709 0.0003160761695829984 63.67% 175.22% 2.75x
uint256_encoder[18446744073709551616] 0.0008743074426779784 0.0003158023127947494 63.88% 176.85% 2.77x
uint256_encoder[340282366920938463463374607431768211456] 0.0008725173072669695 0.00031650083776109026 63.73% 175.68% 2.76x
uint256_encoder[42] 0.0008708147185483835 0.00031327735137899875 64.02% 177.97% 2.78x
uint256_encoder[4294967296] 0.0008726189167442887 0.0003233611015656595 62.94% 169.86% 2.70x
uint256_encoder[57896044618658097711785492504343953926634992332820282019728792003956564819967] 0.0008734320205035727 0.00031340858004875473 64.12% 178.69% 2.79x
uint256_encoder[57896044618658097711785492504343953926634992332820282019728792003956564819968] 0.00086969886654584 0.0003170582006076368 63.54% 174.30% 2.74x
uint256_encoder[65536] 0.0008602397405346802 0.00032219365384341867 62.55% 166.99% 2.67x
uint256_encoder[999999999999999999999999999999] 0.0008720423457038847 0.00031608618718619914 63.75% 175.89% 2.76x

faster_eth_abi.grammar - view benchmarks

Function Reference Mean Faster Mean % Change Speedup (%) x Faster Faster
normalize[((uint8,uint8),uint8)] 0.004681266450699456 0.004065274514280701 13.16% 15.15% 1.15x
normalize[((uint8[2],(string,bool)),bytes32)] 0.006090336059872891 0.005461136947099442 10.33% 11.52% 1.12x
normalize[(address,uint8)] 0.00357348964413821 0.0029434205739609547 17.63% 21.41% 1.21x
normalize[(string,bytes)] 0.003487699644820011 0.00289834638792449 16.90% 20.33% 1.20x
normalize[(uint256,bool)] 0.0036405715735161734 0.00300602815522352 17.43% 21.11% 1.21x
normalize[(uint256[],(string[],bool))] 0.005037783045686803 0.00456537637053397 9.38% 10.35% 1.10x
normalize[(uint256[2],string)] 0.00421600734979519 0.0035860203843476744 14.94% 17.57% 1.18x
normalize[(uint8,(bool,string))] 0.004452832116598352 0.0038380378593221407 13.81% 16.02% 1.16x
normalize[(uint8[2],(string,bool[2]))] 0.005370532079356563 0.004827596453266872 10.11% 11.25% 1.11x
normalize[(uint8[2][2],(string[2],bool[2]))] 0.006265523831251585 0.005900045751449045 5.83% 6.19% 1.06x
normalize[address] 0.0027271686748745294 0.0019937912759905884 26.89% 36.78% 1.37x
normalize[bool] 0.0025278900203002286 0.001851535859002132 26.76% 36.53% 1.37x
normalize[bytes] 0.0025528124219812167 0.0019936803313364677 21.90% 28.05% 1.28x
normalize[bytes32] 0.0028694180056982985 0.002139138600430426 25.45% 34.14% 1.34x
normalize[fixed128x18] 0.0030546644984588618 0.0024627695601952336 19.38% 24.03% 1.24x
normalize[int8] 0.002667280429725882 0.001955260336604738 26.69% 36.42% 1.36x
normalize[string[]] 0.0028363694339208156 0.0022092526175878607 22.11% 28.39% 1.28x
normalize[string] 0.002648941448005644 0.001922294013485413 27.43% 37.80% 1.38x
normalize[ufixed128x18] 0.0031337892138366638 0.002552776086729966 18.54% 22.76% 1.23x
normalize[uint256[2]] 0.003329369574840421 0.0026839096031780313 19.39% 24.05% 1.24x
normalize[uint256] 0.002936517886297866 0.0021595690869671475 26.46% 35.98% 1.36x
normalize[uint8[]] 0.0028699798821763245 0.002340271293700434 18.46% 22.63% 1.23x
parse[((uint8,uint8),uint8)] 0.0004637481941618321 0.00045650250890810686 1.56% 1.59% 1.02x
parse[((uint8[2],(string,bool)),bytes32)] 0.00046685800091993395 0.0004534394259317466 2.87% 2.96% 1.03x
parse[(address,uint8)] 0.0004521145474025946 0.00045166317893403354 0.10% 0.10% 1.00x
parse[(string,bytes)] 0.00047721690198117473 0.0004709908541670942 1.30% 1.32% 1.01x
parse[(uint256,bool)] 0.000461244704095308 0.00045741551339260243 0.83% 0.84% 1.01x
parse[(uint256[],(string[],bool))] 0.00048644668081199713 0.00047937744985452333 1.45% 1.47% 1.01x
parse[(uint256[2],string)] 0.00046488943616073466 0.00045425696730264873 2.29% 2.34% 1.02x
parse[(uint8,(bool,string))] 0.0004968215620733075 0.000490873639575932 1.20% 1.21% 1.01x
parse[(uint8[2],(string,bool[2]))] 0.0004669439230008006 0.00045739299553279903 2.05% 2.09% 1.02x
parse[(uint8[2][2],(string[2],bool[2]))] 0.0004886088715450159 0.0004866091382298265 0.41% 0.41% 1.00x
parse[address] 0.00044047367032972335 0.00045041508222783713 -2.26% -2.21% 0.98x
parse[bool] 0.00043939350156713944 0.00044587836256225895 -1.48% -1.45% 0.99x
parse[bytes] 0.0004407106612450272 0.00044120496843961344 -0.11% -0.11% 1.00x
parse[bytes32] 0.0004603599962356384 0.0004610735659974404 -0.16% -0.15% 1.00x
parse[fixed128x18] 0.0004591184000012564 0.00045269520877674906 1.40% 1.42% 1.01x
parse[int8] 0.00044688864386620297 0.0004494195280591348 -0.57% -0.56% 0.99x
parse[string[]] 0.0004733467529063317 0.00047763928412414817 -0.91% -0.90% 0.99x
parse[string] 0.000436339072449456 0.0004479021143216524 -2.65% -2.58% 0.97x
parse[ufixed128x18] 0.0004605711234832565 0.00045081980481216123 2.12% 2.16% 1.02x
parse[uint256[2]] 0.0004568660104169614 0.0004583282115284384 -0.32% -0.32% 1.00x
parse[uint256] 0.0004394639391718954 0.0004475200531173034 -1.83% -1.80% 0.98x
parse[uint8[]] 0.0004926014597222204 0.0004865442818806557 1.23% 1.24% 1.01x

faster_eth_abi.io - view benchmarks

Function Reference Mean Faster Mean % Change Speedup (%) x Faster Faster
contextframesbytesio_init[0] 0.0007155220385803074 0.0006463484403940243 9.67% 10.70% 1.11x
contextframesbytesio_init[1024] 0.0007144427896611644 0.0006451377323634604 9.70% 10.74% 1.11x
contextframesbytesio_init[32] 0.0007202913661510412 0.0006428528392489481 10.75% 12.05% 1.12x
contextframesbytesio_init[4096] 0.0007062877480246419 0.0006494293520293818 8.05% 8.76% 1.09x
contextframesbytesio_init[65536] 0.0006998179992924402 0.0006514418864526306 6.91% 7.43% 1.07x
contextframesbytesio_push_pop[1] 0.0001257442133360944 0.00011499015933434878 8.55% 9.35% 1.09x
contextframesbytesio_push_pop[10] 0.0010162989450776207 0.0009994432649218937 1.66% 1.69% 1.02x
contextframesbytesio_push_pop[5] 0.0005099854098121069 0.000489482517745809 4.02% 4.19% 1.04x
contextframesbytesio_push_pop[50] 0.005171388644332192 0.0050840991405419955 1.69% 1.72% 1.02x
contextframesbytesio_seek_in_frame[1] 0.00005708858120111762 0.000056612371766968406 0.83% 0.84% 1.01x
contextframesbytesio_seek_in_frame[10] 0.0004433818146584803 0.00044097404575062444 0.54% 0.55% 1.01x
contextframesbytesio_seek_in_frame[5] 0.0002042848004070576 0.00020244764514084523 0.90% 0.91% 1.01x
contextframesbytesio_seek_in_frame[50] 0.0021137451779639385 0.0020825397151760373 1.48% 1.50% 1.01x

faster_eth_abi.packed - view benchmarks

Function Reference Mean Faster Mean % Change Speedup (%) x Faster Faster
encode_packed[address] 0.0012559803908801974 0.000434728363400185 65.39% 188.91% 2.89x
encode_packed[bool] 0.0007194827921038276 0.0002509622343755296 65.12% 186.69% 2.87x
encode_packed[bytes] 0.0006774815669969325 0.0002367299440734977 65.06% 186.18% 2.86x
encode_packed[string] 0.0007099070319485438 0.00027072514484363755 61.86% 162.22% 2.62x
encode_packed[tuple] 0.001695291095590288 0.0008027099418072188 52.65% 111.20% 2.11x
encode_packed[uint256] 0.0008657273230290127 0.00032238976467938683 62.76% 168.53% 2.69x
is_encodable_packed[address] 0.00006253267295334006 0.000038898777527231855 37.79% 60.76% 1.61x
is_encodable_packed[bool] 0.00004456991046169608 0.00003253216757848126 27.01% 37.00% 1.37x
is_encodable_packed[bytes] 0.00004596619677616673 0.00003732263959051098 18.80% 23.16% 1.23x
is_encodable_packed[string] 0.00004639896122273176 0.00003237472155611163 30.23% 43.32% 1.43x
is_encodable_packed[tuple] 0.00025973380628279276 0.00020523331833700352 20.98% 26.56% 1.27x
is_encodable_packed[uint256] 0.00010373816632448191 0.00006364958359837732 38.64% 62.98% 1.63x

faster_eth_abi.registry - view benchmarks

Function Reference Mean Faster Mean % Change Speedup (%) x Faster Faster
get_decoder[((uint8,uint8),uint8)] 0.00008023947743424057 0.00007902173503614462 1.52% 1.54% 1.02x
get_decoder[((uint8[2],(string,bool)),bytes32)] 0.00008052379415404073 0.00007975620972526756 0.95% 0.96% 1.01x
get_decoder[(address,uint8)] 0.00007959034474919392 0.00007978554457090222 -0.25% -0.24% 1.00x
get_decoder[(string,bytes)] 0.00008030191381959184 0.00008039437407050438 -0.12% -0.12% 1.00x
get_decoder[(uint256,bool)] 0.00008129027224802816 0.00008139396655812157 -0.13% -0.13% 1.00x
get_decoder[(uint256[],(string[],bool))] 0.0000832678438854332 0.00007930112985766374 4.76% 5.00% 1.05x
get_decoder[(uint256[2],string)] 0.0000808124497115 0.00007972535802228348 1.35% 1.36% 1.01x
get_decoder[(uint8,(bool,string))] 0.00008358827729456695 0.00008070720814497588 3.45% 3.57% 1.04x
get_decoder[(uint8[2],(string,bool[2]))] 0.00008002454856758713 0.00008045258810529218 -0.53% -0.53% 0.99x
get_decoder[(uint8[2][2],(string[2],bool[2]))] 0.00010477677442917706 0.00010487953816786568 -0.10% -0.10% 1.00x
get_decoder[address] 0.00010058765639144976 0.0000990741756469901 1.50% 1.53% 1.02x
get_decoder[bool] 0.00010105110009759374 0.00010168271589556387 -0.63% -0.62% 0.99x
get_decoder[bytes] 0.00010246991222102758 0.00010171587055080156 0.74% 0.74% 1.01x
get_decoder[bytes32] 0.0001037457271301904 0.00010091785965190538 2.73% 2.80% 1.03x
get_decoder[fixed128x18] 0.00008153965504972186 0.00008025577200897049 1.57% 1.60% 1.02x
get_decoder[int8] 0.00008210425805461048 0.00008277613165037873 -0.82% -0.81% 0.99x
get_decoder[string[]] 0.0001018208469672979 0.0001029967035445102 -1.15% -1.14% 0.99x
get_decoder[string] 0.0001046720621287177 0.00009972267486377148 4.73% 4.96% 1.05x
get_decoder[ufixed128x18] 0.00008063720456546532 0.00008041168490854176 0.28% 0.28% 1.00x
get_decoder[uint256[2]] 0.0001021173324863847 0.00010288992390567784 -0.76% -0.75% 0.99x
get_decoder[uint256] 0.00010012768545758338 0.00010151264629163643 -1.38% -1.36% 0.99x
get_decoder[uint8[]] 0.00010309011869450182 0.00010311389377953781 -0.02% -0.02% 1.00x
get_encoder[((uint8,uint8),uint8)] 0.00008746091615258982 0.00008884802078650621 -1.59% -1.56% 0.98x
get_encoder[((uint8[2],(string,bool)),bytes32)] 0.00009909396149439713 0.00010029468441667154 -1.21% -1.20% 0.99x
get_encoder[(address,uint8)] 0.00008855051741353546 0.0000885792626881498 -0.03% -0.03% 1.00x
get_encoder[(string,bytes)] 0.00009273817749976421 0.00009238148473075103 0.38% 0.39% 1.00x
get_encoder[(uint256,bool)] 0.00008873905918747754 0.00008845315420622983 0.32% 0.32% 1.00x
get_encoder[(uint256[],(string[],bool))] 0.00009167667438680181 0.00009392728936159408 -2.45% -2.40% 0.98x
get_encoder[(uint256[2],string)] 0.00008883100951832358 0.00008971485193744666 -0.99% -0.99% 0.99x
get_encoder[(uint8,(bool,string))] 0.00009593081499949882 0.00009695554418382412 -1.07% -1.06% 0.99x
get_encoder[(uint8[2],(string,bool[2]))] 0.00008857590892908632 0.00008897858318785004 -0.45% -0.45% 1.00x
get_encoder[(uint8[2][2],(string[2],bool[2]))] 0.00009580060915648014 0.00009412678101869765 1.75% 1.78% 1.02x
get_encoder[address] 0.00008643163841720043 0.00008711476677731081 -0.79% -0.78% 0.99x
get_encoder[bool] 0.0000859599865341599 0.0000865092828355276 -0.64% -0.63% 0.99x
get_encoder[bytes] 0.00008609108878196268 0.0000851040357184714 1.15% 1.16% 1.01x
get_encoder[bytes32] 0.00008894133497488655 0.00009027021126336226 -1.49% -1.47% 0.99x
get_encoder[fixed128x18] 0.00008810547428323978 0.0000877950156196834 0.35% 0.35% 1.00x
get_encoder[int8] 0.00008664607586897142 0.00008738653060640431 -0.85% -0.85% 0.99x
get_encoder[string[]] 0.00009359666302878996 0.00009349604046211429 0.11% 0.11% 1.00x
get_encoder[string] 0.00008561197004674951 0.00008640585882986826 -0.93% -0.92% 0.99x
get_encoder[ufixed128x18] 0.0000888947285925267 0.00008959662069564945 -0.79% -0.78% 0.99x
get_encoder[uint256[2]] 0.00008938287362247119 0.00009165940515359834 -2.55% -2.48% 0.98x
get_encoder[uint256] 0.00008536172815224885 0.00008542339599071304 -0.07% -0.07% 1.00x
get_encoder[uint8[]] 0.00009581247285350548 0.00009207415764064365 3.90% 4.06% 1.04x

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.