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
Remove gprof support #2314
Remove gprof support #2314
Conversation
Should this PR also delete |
I believe it should not: |
There is also a chunk of profiling-related stuff to be deleted in |
Oh, OK, I thought (It should probably not block this PR, but at some point both the manual and the |
Yeah, I am about to fix the manual. And in fact I don't think |
Ah, so in fact |
New version pushed. |
This patch deletes |
I did wonder about that. @dra27 Do you think we should leave the line in the |
Given it's early in the 4.09 release cycle, we could remove it from the |
@avsm I think I'm in favour of doing that. @stedolan Since you've looked at this partially, would you be able to review the rest and approve? (I would like @xavierleroy 's signoff before we merge, however.) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code changes look good to me! There's a couple of other places where references to profiling should be removed, though:
- driver/main_args.ml:
mk_p
has now-wrong text for the-p
option - stdlib/Compflags: has rules for
foo.p.cmx
- stdlib/.depend: has .p.cmx dependencies. (It looks like you updated the .depend generator, so I think all you should need to do here is rerun
make depend
) - manual, manpages
Thanks, I will check these. I thought I dealt with the manual though. |
I don't see any changes to |
I think I must have lost those somehow. I've done them again, there will be an update shortly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was surprised that stdlib/.depend got so much shorter. Turns out there were duplicate entries for all the cmo
files because of how the profiling dependencies were generated!
@gasche Given that @xavierleroy probably hasn't had time to look at this, are you willing to confirm that this feature removal is ok? |
I'm afraid I can't replace Xavier in terms of decision-making legitimacy. If you want "formal approval", maybe it's okay to wait an extra week? (I'll meet him on Wednesday/Tuesday so that's a worst-case timeline for an answer.) |
Sure, we can wait. |
I had a quick look at the diff and it looks OK. I just started a round of precheck CI to make sure all architectures still compile and run. |
Precheck seems happy. Based on this, @stedolan's careful review, my own cursory check, and my pleasure at seeing so much boring code going away, I'm happy to merge this PR right now. |
Following a discussion on the core developers' list, which indicated that removing
gprof
support was a reasonable thing to do, this patch does just that.The rationale is that there are better easy-to-use profilers out there now, such as perf for Linux and Instruments on macOS; and the gprof support has always been patchy across targets. We save a whole build of the runtime and simplify some other parts of the codebase by removing it.
I'm marking this as a debugging-prerequisite since a final decision is needed on this before we can proceed with #2292, which is directly needed for the debugging work.