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.
Addresses #505
This is not finished proper benchmark, but rather POC for verifying gas usage regression with ng. Created tests uses the optimized binaries which has to be generated to use them. To make it work I needed to create "fork" of cosmwasm-std which doesn't perform message parsing (so it is delayed to contract). It is not changing behaviour of anything in stdlib, it just adds possibility to bypass message deserialization. In final ng contracts it would not be needed, as entry points would be generated for the contracts from scratch.
Unfortunately tests went bad for ng. Gas usages for cw1-whitelist are:
For cw1-whitelist-ng results are:
Instantiation regression is not-so-bad (~8%), considering it is one-time thing, and probably can be improved with some tweaking, but the regression of execution worries me a lot (over 20% if I am not mistaken). However I have strong suspicions what causes that and how to improve that, so it might be way better. However this shows, that before any further work on ng is done, performance should be addressed.