Skip to content
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

RFC: Remove --track-allocation #48070

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

Conversation

vchuravy
Copy link
Sponsor Member

@vchuravy vchuravy commented Jan 5, 2023

Prior to Julia 1.9 --track-allocation was one of the only ways to track where allocations where coming from in Julia.
The way it functions is to change the emitted LLVM IR to insert code that tracks allocations occuring.
This often leads to false-positives since these statements interfere with optimization (in particular escape analysis)
and @simonbyrne and I once spend a particular fun couple of days hunting down ghosts.

Since it changes the emitted code it also does not particular play well with package images.

I believe there is no remaining use-case for --track-allocation that would not be better served by using the allocation profiler,
and I am proposing to remove of the --track-allocation feature in 1.10.

Are there users of --track-allocation that would object? Are there use-cases where you have fund it particular useful that are not covered by the allocation profiler?

@vchuravy vchuravy added the status:triage This should be discussed on a triage call label Jan 1, 2023
@vchuravy vchuravy added this to the 1.10 milestone Jan 1, 2023
@gbaraldi
Copy link
Member

gbaraldi commented Jan 5, 2023

Triage says to make a post on the relevant places(Discourse/Slack etc) to ask if anyone really cares about this feature and if they don't to go ahead with removing it.

@gbaraldi gbaraldi removed the status:triage This should be discussed on a triage call label Jan 5, 2023
@LilithHafner
Copy link
Member

Posted to slack's #general channel and discourse

@vchuravy vchuravy marked this pull request as draft January 5, 2023 19:51
simonbyrne added a commit that referenced this pull request Feb 18, 2023
As mentioned in #48070, the allocation profiler now provides better functionality than the `--track-allocation` option. This rearranges the sections in the manual to reflect this, and adds a note to that effect.

It also mentions ProfileCanvas.jl, which seems to be better supported than PProf.jl.
simonbyrne added a commit that referenced this pull request Feb 18, 2023
As mentioned in #48070, the allocation profiler now provides better functionality than the `--track-allocation` option. This rearranges the sections in the manual to reflect this, and adds a note to that effect.

It also mentions ProfileCanvas.jl, which seems to be better supported than PProf.jl.
simonbyrne added a commit that referenced this pull request Feb 20, 2023
As mentioned in #48070, the allocation profiler now provides better functionality than the `--track-allocation` option. This rearranges the sections in the manual to reflect this, and adds a note to that effect.

It also mentions ProfileCanvas.jl, which seems to be better supported than PProf.jl.
vchuravy pushed a commit that referenced this pull request Apr 25, 2023
As mentioned in #48070, the allocation profiler now provides better functionality than the `--track-allocation` option. This rearranges the sections in the manual to reflect this, and adds a note to that effect.

It also mentions ProfileCanvas.jl, which seems to be better supported than PProf.jl.
@charleskawczynski
Copy link
Contributor

What will replace this feature? I thought that Profile.Allocs requires using —track-allocations

@simonbyrne
Copy link
Contributor

No, see #48713

@JeffBezanson
Copy link
Sponsor Member

We should do this but does not need to block 1.10.

@JeffBezanson JeffBezanson removed this from the 1.10 milestone Aug 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants