forked from ethereum/eth-abi
-
Notifications
You must be signed in to change notification settings - Fork 1
feat: microoptimize ABIRegistry.has_encoder #80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
BobTheBuidler
wants to merge
823
commits into
master
Choose a base branch
from
BobTheBuidler-patch-7
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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]>
* 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>
* 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 Performance ReportMerging #80 will degrade performances by 4.76%Comparing Summary
Benchmarks breakdown
Footnotes |
Pytest Benchmark Difffaster_eth_abi.abi - view benchmarks
faster_eth_abi.decoding - view benchmarks
faster_eth_abi.encoding - view benchmarks
faster_eth_abi.grammar - view benchmarks
faster_eth_abi.io - view benchmarks
faster_eth_abi.packed - view benchmarks
faster_eth_abi.registry - view benchmarks
|
Pytest Benchmark Difffaster_eth_abi.abi - view benchmarks
faster_eth_abi.decoding - view benchmarks
faster_eth_abi.encoding - view benchmarks
faster_eth_abi.grammar - view benchmarks
faster_eth_abi.io - view benchmarks
faster_eth_abi.packed - view benchmarks
faster_eth_abi.registry - view benchmarks
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.