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
Based on my understanding the reason is that the code in core/vm/evm.go relies on big.Int. Would it be a large change moving that to uint256.Int?
Update: Indeed that would be a big change. Either the conversion can be shifted to core/vm/evm.go, or a total overhaul would include changing StateDB and the tracer too. This sounds like a large effort, only worth if the speed difference between big.Int and uint256.Int is significant enough.
The text was updated successfully, but these errors were encountered:
yes, it's a large project. I've started doing it a couple of times, but it's hard to make it small. It bleeds all over the place, even if one tries to start in the blocks/transactions, or try to do it internally in the state/trie it sooner or later becomes a giant mess.
There are TODOs in all the call related implementations, like this: https://github.com/ethereum/go-ethereum/blob/master/core/vm/instructions.go#L583-L589. It is memory/speed optimisation for the 0-value case.
Based on my understanding the reason is that the code in
core/vm/evm.go
relies onbig.Int
. Would it be a large change moving that touint256.Int
?Update: Indeed that would be a big change. Either the conversion can be shifted to
core/vm/evm.go
, or a total overhaul would include changingStateDB
and the tracer too. This sounds like a large effort, only worth if the speed difference betweenbig.Int
anduint256.Int
is significant enough.The text was updated successfully, but these errors were encountered: