Make default release mode build a "profiling" build
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 74
- Forks
- 9
- PR merge metrics
- No merged PRs in 30d
Description
For the ability to profile our code with [`perf`](http://www.brendangregg.com/perf.html) (and to generate the most readable flamegraphs) it is important to:
- Compile with `-fno-omit-frame-pointer` (unless the compiler already defaults to using this flag?)
- Compile with some debug symbols (unless you don't need detailed stack traces of your node module)
Doing this would move node-cpp-skel to doing a "profiling" build by default: https://github.com/mapbox/cpp/blob/master/glossary.md#profiling-build.
We can accomplish this by applying something like https://github.com/mapnik/node-mapnik/pull/804 to node-cpp-skel.
refs https://twitter.com/brendangregg/status/472869470675795968
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Inspect the repository's default release-build configuration, then compare the requested approach with node-mapnik PR #804. Confirm that the default build uses -fno-omit-frame-pointer and includes debug symbols, and verify the resulting Node module remains buildable and suitable for perf flamegraphs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, node.js
- Domain
- build-system, performance
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100