-
Notifications
You must be signed in to change notification settings - Fork 57
Expose changes to Julia via @snoopi_deep to report timing profile breakdown of _all MethodInstances_ that are inferred during type inference
#139
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
Merged
timholy
merged 50 commits into
JuliaDebug:master
from
NHDaly:nhd-snoopi-inferrable-set--TimerOutputs-profile
Nov 7, 2020
Merged
Changes from 24 commits
Commits
Show all changes
50 commits
Select commit
Hold shift + click to select a range
d19deab
First pass at snoopi collecting the full inferrable set from julia
NHDaly ac15b22
Update to use bool to control julia "collect inference callees" feature
NHDaly b9f07fe
Use commit `97b5cde769` from Julia to return dep graph from snoopi
NHDaly 9b5f04a
Almost working parcel per_method_instance_timings -- need to fix seri…
NHDaly 1eb4214
Working per-method timings, i think (though overly complicated and ov…
NHDaly bb83243
Fix now that i've disabled my first attempt in julia
NHDaly faa3eb8
Got per-method timing working on helper process! :)
NHDaly 9e441cd
Switch to BFS instead of (recursive) DFS
NHDaly 4cad634
Fix `code_typed()` to `code_typed_by_type(tt)` to ACTUALLY measure in…
NHDaly 6a62f74
Try randomly shuffling the leaves to get a (hopefully) different walk…
NHDaly 4820a24
Second attempt at per-method inf timings: TimerOutputs
NHDaly 21bae6d
(silly) fixups to get the linfos to print to a string
NHDaly bc20040
Fix double-counting, using "$linfo" for timer name
NHDaly b290ec4
Start precompiling the TimerOutputs snoopi approach
NHDaly d77e22d
Revert changes to SnoopCompile snoopi
NHDaly 5b8603a
Rewrite snoopi on top of custom Core.Compiler.Timings
NHDaly 615b1b6
Add `exclusive_timings()` to compute and list the per-method-instance…
NHDaly bc19fed
Now julia itself reports exclusive times
NHDaly c91c7d2
Add basic flame graph printing for per-method inference timings!
NHDaly 95b3fc2
Close "root" timer so `root` is an accurate measurement as well! :)
NHDaly 3b34dd6
Split out `@snoopi_deep`: for the per-method-instance snoopi timings
NHDaly 6c9de36
Get `to_flamegraph(::Timing)` working! :grin:
NHDaly 316b8bc
Print snoopi_deep flamegraph with pretty function syntax
NHDaly fb48e8a
Update to work with latest version of https://github.com/JuliaLang/ju…
NHDaly 0974619
Move `flatten_times()` for at-snoopi_deep to parcel_snoopi.jl
NHDaly 493ae50
Reorganized parcel_snoopi.jl
NHDaly abfc173
Handle Type Tuples that can't be printed to a string
NHDaly 1e4eda2
Add tests for `@snoopi_deep`, including AbstractTrees tests of FlameG…
NHDaly 1b63149
Add docstring for macro snoopi_deep
NHDaly 3f21529
Add TODO to add `tmin=` to `to_flamegraph()`
NHDaly 52b414e
Add `tmin_secs=` param to `to_flamegraphs()` to filter frames by incl…
NHDaly 1e20614
Switch back to nice MethodInstance printing for frame names!
NHDaly 7bb6a28
Add file and line info to SnoopCompile.to_flamegraph
NHDaly f1fbd1a
Clean up: Remove debugging and experimentation cruft
NHDaly 2d84f1d
Fix `tmin_secs` for `to_flamegraph()` and `flatten_times()`
NHDaly 3adda6c
Improve docstrings and add Examples
NHDaly 11cab16
Clean up old cruft
NHDaly 54c3462
Add tests for `tmin_secs=` param
NHDaly ceaecb2
Set fail-fast: false for easier CI for code review
NHDaly 37ad8be
Add compat bounds for FlameGraphs and LeftChildRightSiblingTrees
NHDaly bfa969e
Apply suggestions from code review
NHDaly 421593d
Fix small type stability of `range=` in `_flamegraph_frame()`
NHDaly 6d3ff30
Simplify Project.toml: Use `FlameGraphs.LeftChildRightSiblingTrees`
NHDaly 74e7f69
Improve docstrings and comments (PR Review suggestions)
NHDaly 4e6b74f
Split out `snoopi_deep` into separate, version-guarded files:
NHDaly 67c447c
Merge branch 'master' into nhd-snoopi-inferrable-set--TimerOutputs-pr…
NHDaly 49ce9f2
Simplify the logic in `SnoopCompile.max_end_time()` and add comments
NHDaly 2723e48
Change `to_flamegraph()` to `flamegraph()`
NHDaly 53d6bf8
Remove qualified names from docstring examples
NHDaly ba358cc
Update src/parcel_snoopi_deep.jl
NHDaly File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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.
Uh oh!
There was an error while loading. Please reload this page.