-
Notifications
You must be signed in to change notification settings - Fork 169
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
Program analysis tool #138
Comments
Would love to work on this issue. I'd imagine rough spec would look like this:
I'm assuming this should be part of a new crate. And what is the best way to handle source input? As file input or something else? |
That would be awesome! I must say though that this is not a simple issue. We should probably break into several PRs and start with something simpler (e.g., a PR which covers the first bullet point from the above). For the cycle count, a way to do it could be to execute a given script, get a reference to the |
@bobbinth I added a simple script to output the total number of vm cycles it takes to execute a miden assembly script. It's a standalone package that takes source script as a file input and calls |
According to @bobbinth it would be nice to have number of NOOPs executed as part of a program included to the analysis tool as it would be a good efficiency metric to track. |
@tohrnii can you add a comment with a todo list of everything that we've done or talked about for this & check off the things that are done so we can see what's still pending on this issue? |
The things we have currently in the program analysis tool.
Other things that might be interesting to add to the program analysis according to @bobbinth,
|
We could probably go into a bit more detail for these. For example:
We should also add number of rows in the bitwise chiplet to the list. Finally, would probably be nice to know which part of the trace was the "long pole" - e.g., stack, range-checker, or chiplets. |
Great, thanks @tohrnii @bobbinth ! I updated the issue description with the todo list. Once the current related PR #315 is updated and merged maybe we can prioritize this list (identify which things we want in the next release) and think about splitting some of these into separate issues (perhaps with a new tag)? Thoughts? |
Closed by #1099 and others. |
It would be cool if we had a way to analyze a given script. This would let us make informed judgements about scripts we may have in the standard library. Some interesting statistics that come to mind:
u32add.full
operation x times, and this translated to y VM cycles.Program analysis task list (grjte edit):
The text was updated successfully, but these errors were encountered: