- Notifications
You must be signed in to change notification settings - Fork6
License
pfitzseb/ProfileCanvas.jl
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This package is intended as a drop-in replacement forProfileView.jl andProfileSVG.jl.
It exposes the HTML canvas basedprofile viewer UI used by theJulia extension for VS Code in the REPL and environments that can display HTML (like Pluto notebooks). Performance should be significantly better than SVG-based solutions, especially for very large traces.
using ProfileCanvasfunctionprofile_test(n)for i=1:n A=randn(100,100,20) m=maximum(A) Am=mapslices(sum, A; dims=2) B= A[:,:,5] Bsort=mapslices(sort, B; dims=1) b=rand(100) C= B.*bendend@profviewprofile_test(1)# run once to trigger compilation (ignore this one)@profviewprofile_test(10)
On Julia 1.8 and newer you can also use profiler memory allocations with@profview_allocs
/view_allocs
:
@profview_allocs profile_test(10)
The controls aremouse wheel to scroll, andclick on a cell to base the zoom on it.The end result depends on the julia version, but it might be something like this:
when run from the REPL and
in aPluto notebook.
The profiling data is color-coded to provide insights about the performance of your code:
- Red bars represent function calls resolved at run-time, which often have a significant impact on performance. While some red is unavoidable, excessive red may indicate a performance bottleneck.
- Yellow bars indicate a site of garbage collection, which is often triggered by memory allocation. These sites can often be optimized by reducing the amount of temporary memory allocated by your code.
About
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors5
Uh oh!
There was an error while loading.Please reload this page.