Add scripts to combine profile information for all files in compiler#2846
Merged
milan-tom merged 20 commits intooxcaml:mainfrom Jul 30, 2024
Merged
Conversation
fd11812 to
34bb36f
Compare
xclerc
reviewed
Jul 26, 2024
Contributor
xclerc
left a comment
There was a problem hiding this comment.
(A first pass - need to read the Python script again.)
6161f31 to
235c764
Compare
xclerc
reviewed
Jul 29, 2024
Contributor
xclerc
left a comment
There was a problem hiding this comment.
A couple of comments about the
Python script - since it is an
auxiliary script, it is OK to cut
corners if something is long or
difficult to implement.
xclerc
approved these changes
Jul 30, 2024
Contributor
xclerc
left a comment
There was a problem hiding this comment.
As discussed off-line, I think the current
state is OK, but feel free to delay merge
if you want to tweak the logic of the
bash script and/or want to have a second
reviewer.
…tall to dump CSVs for whole compiler
…contain counter data)
6bcc3f1 to
a0999c1
Compare
lukemaurer
pushed a commit
to lukemaurer/flambda-backend
that referenced
this pull request
Oct 23, 2024
…iles in compiler (oxcaml#2846) * Fix printing still happening even if -dump-into-csv set * Dirty fix to avoid outputting profile information when using make install to dump CSVs for whole compiler * Add scripts to combine profile information for all compiler files * Automatically detect summary field names from CSV files * Make output argument clearer * Remove total aggregation (leave to end user) * Support displaying data for multiple passes per file (when they both contain counter data) * Fix pass name prefix sanitisation issue for CSV * Move units to second header of summary CSV * Clean up * Rename script * Add use case to hack comment * Inline script to build compiler * Fix Python file docstring * Use _profile as dump directory to convey idea of artifacts being generated * Simplify OCAMLPARAM using oxcaml#2855 * Move removal completely to script and remove before (with additional checks) * Remove redundant reverting of environment variables * Clean up * Remove unnecessary hack from ocaml/driver/optmaindriver.ml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Running
./scripts/generate-profile-csvs.shbuilds the whole compiler, exporting CSV files containing the profile information for each file and combines these combines these CSV files to producesummary.csvcontaining data for the relevant passes. For example:The second column contains the units for each field (can use
header=[0,1]inpandas.read_csv).