feat(gnovm/std): Add Alloc Usage features to std #2211
Closed
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.
Contributors' checklist...
BREAKING CHANGE: xxx
message was included in the descriptionAs mentioned in #2070, because it's possible to pull various things from
MachineState
, this PR will:AllocTracker
to monitor memory allocation. This tracker utilizes theAllocator.Status()
function and leverages theRegister()
andFinish()
functions defined within the AllocTracker interface. Additionally, I've exposed aGetResult()
function that internally calls Finish() and returns the resulting Allocated Usage information.Simple contract example:
I will update examples for this later if this PR is good enough to go.
I propose moving both
std.GasUsed()
(introduced in issue #1998 and implemented in pull request #2148) and this new function,std.AllocatedMem()
, to theruntime
package. This would facilitate the development of PProf-like profiling tools within Gno. I'll provide a more detailed proposal soon with the specific implementation details.