You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think I've seen a handful 1-5% optimizations for sputnic. In isolation, they don't seem to make a lot of sense, but together they should add up. This issue collects the list of things I've tried and found beneficial or which think would be benefitial
These things were measured to be ~1% improvements:
returning an &H256 from peek, to avoid copy
refactoring record_dynamic_cost to not contain ? (the whole business of storing Result as a field and checking it on every access feels suspect)
storing code in Bytes rather than Rc<Vec<u8>> to avoid extra indirection during opcode fetch
use ArrayVec<U256, 1024> rather than Vec<U256> for the stack
I think I've seen a handful 1-5% optimizations for sputnic. In isolation, they don't seem to make a lot of sense, but together they should add up. This issue collects the list of things I've tried and found beneficial or which think would be benefitial
These things were measured to be ~1% improvements:
&H256
from peek, to avoid copyrecord_dynamic_cost
to not contain?
(the whole business of storingResult
as a field and checking it on every access feels suspect)Bytes
rather thanRc<Vec<u8>>
to avoid extra indirection during opcode fetchArrayVec<U256, 1024>
rather thanVec<U256>
for the stackThese are theoretical wins
The text was updated successfully, but these errors were encountered: