-
Notifications
You must be signed in to change notification settings - Fork 841
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
The profiling options should work uniformly for applications and benchmark suites #1771
Comments
This is with a Stack that I built from Git:
|
I seem to have missed this ticket when I searched earlier: #1759 So I tried |
I'm surprised that this doesn't successfully profile your package's library. If you can figure out what |
For example:
When I run
If it helps any, the project is here: Fair warning, on my 4-core machine the benchmark suite pegs all CPUs and runs for over 10 minutes... |
This should work:
But yeah, I'm not seeing it use multiple cores. I haven't taken a look at the profiling results. |
It's possible that there isn't an environmental thing, since I do reproduce it not using multiple cores, and the profiling results might be not be what we're looking for (haven't checked). I took a look at the code involved and noticed there might be an issue with the combination of I'm still not seeing it use more than one core. Is an invocation like |
Closing due to lack of response. Re-open if it's still an issue. |
Sorry for the delay, I've been really busy and my day job isn't Haskell-related. I just ran the following, on a clean source tree:
Observations:
So the only clear issue I'm observing at the moment is that the benchmark doesn't run in threaded mode when I use
|
I've opened a new issue just for the SMP bit: #1808 |
I can build a profiled version of my application easily with this command:
When I run this application with
+RTS -p -RTS
on the command line, it writes a .prof file as expected, and this profile covers cost centers both from my Cabal package's library and executable components.However, the equivalent doesn't work smoothly when I try to profile the same package's benchmark suite:
This does produce a
bench.prof
file, but the file only reports on cost centers in the benchmark component's module and its library dependencies (mostly Criterion and its dependencies), and does not report on my Cabal package's library component's cost centers at all. This is a bummer, needless to say, because it'd be natural to use the benchmark suite to profile my Cabal package's library component!The text was updated successfully, but these errors were encountered: