-
Notifications
You must be signed in to change notification settings - Fork 13
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
[VM] 2nd Performance optimization #33
Comments
First, after the first analysis of the singlepass code, we confirmed the possibility of optimizing the code size of And analyzed that the static memory bound check patch is also valid for singlepass.
assembly generation step
As a result of analysis, 7333 dynamic emits were performed in erc-20. |
First, the first analysis is completed. Further analysis and actual poc will be do out later. |
Unlike the previous meeting, plans related to VM apply are not in a hurry, so I will proceed with this work again. |
init_local_remove_redurrent_repeat_mov.patch.zip 2nd patch. Assembly code that initializes the local stack is inefficient. This can reduce to code size of all stack size initialization with a fixed 24 bytes using the rep stosq command. result, for erc20 reduced by 8KB. |
3rd patch. We analyzed the inefficiency of ExceptionTable structure and changed it to Offset Range. |
4th patch. copying wasm memory data from cosmwasm_vm::read_region, copy was implemented as assign for 0..n The cost of copying is severe. Patching to use std::copy for raw pointers, the performance range has been fixed, and maximum performance has been improved.(min64%, max 7%) 1st performance measurement result - 876 ~ 913txs |
No description provided.
The text was updated successfully, but these errors were encountered: