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

Add additional profilers to scons and the Profile build to cmake #2096

Merged
merged 3 commits into from Oct 21, 2017

Conversation

Projects
None yet
2 participants
@Pentarctagon
Member

Pentarctagon commented Oct 11, 2017

Adds the profiler option, which allows specifying:

gperftools also has a heap profiler/checker, but I wasn't sure if that was worth adding in as well.

@jyrkive

This comment has been minimized.

Show comment
Hide comment
@jyrkive

jyrkive Oct 11, 2017

Member

Could you also add perf, which is the profiler I prefer to use on GNU/Linux?

According to this blog post, the flags you want with perf are -ggdb -Og assuming that your copy of perf has libunwind support.

Member

jyrkive commented Oct 11, 2017

Could you also add perf, which is the profiler I prefer to use on GNU/Linux?

According to this blog post, the flags you want with perf are -ggdb -Og assuming that your copy of perf has libunwind support.

@Pentarctagon

This comment has been minimized.

Show comment
Hide comment
@Pentarctagon

Pentarctagon Oct 11, 2017

Member

It sounds like perf got some version of libunwind support in different distros ~3-5 years ago, so I'm going to leave out -fno-omit-frame-pointer.

Member

Pentarctagon commented Oct 11, 2017

It sounds like perf got some version of libunwind support in different distros ~3-5 years ago, so I'm going to leave out -fno-omit-frame-pointer.

@Pentarctagon Pentarctagon changed the title from Add gcov and gperftools support to scons to Add additional profilers to scons and the Profile build to cmake Oct 13, 2017

@Pentarctagon

This comment has been minimized.

Show comment
Hide comment
@Pentarctagon

Pentarctagon Oct 13, 2017

Member

While I'm at it, I've added the Profile build to cmake as well. So at this point, both scons and cmake share the same builds and flags for:

  • release
  • debug
  • profile

Scons has the additional base build, which I have no idea how to implement with cmake, or if it's even possible. Cmake has the additional default provided builds of RelWithDebInfo(-O2 -g) and MinSizeRel(-Os), neither of which seem overly useful to implement in scons though it is interesting that using -Os with enable_lto can create a Wesnoth executable that's only 8 MBs.

Member

Pentarctagon commented Oct 13, 2017

While I'm at it, I've added the Profile build to cmake as well. So at this point, both scons and cmake share the same builds and flags for:

  • release
  • debug
  • profile

Scons has the additional base build, which I have no idea how to implement with cmake, or if it's even possible. Cmake has the additional default provided builds of RelWithDebInfo(-O2 -g) and MinSizeRel(-Os), neither of which seem overly useful to implement in scons though it is interesting that using -Os with enable_lto can create a Wesnoth executable that's only 8 MBs.

@jyrkive jyrkive merged commit e43ccc6 into wesnoth:master Oct 21, 2017

1 check failed

continuous-integration/travis-ci/pr The Travis CI build could not complete due to an error
Details

jyrkive added a commit that referenced this pull request Oct 21, 2017

Merge branch 'profile-build'
Manual merge of pull request #2096.

Closes #2096.

fendrin pushed a commit to fendrin/wesnoth-src that referenced this pull request Nov 2, 2017

Merge branch 'profile-build'
Manual merge of pull request #2096.

Closes #2096.

fendrin pushed a commit to fendrin/wesnoth-src that referenced this pull request Nov 2, 2017

Merge branch 'profile-build'
Manual merge of pull request #2096.

Closes #2096.

fendrin pushed a commit to fendrin/wesnoth-src that referenced this pull request Nov 2, 2017

Merge branch 'profile-build'
Manual merge of pull request #2096.

Closes #2096.


Former-commit-id: d798f6a3523160dc702ce3fe2003369bed6c2472

fendrin pushed a commit to fendrin/wesnoth-src that referenced this pull request Nov 2, 2017

Merge branch 'profile-build'
Manual merge of pull request #2096.

Closes #2096.


Former-commit-id: d798f6a3523160dc702ce3fe2003369bed6c2472
Former-commit-id: 08ec85ab505495ce48e4b6a57a26c06e3408027c

fendrin pushed a commit to fendrin/wesnoth-src that referenced this pull request Nov 2, 2017

Merge branch 'profile-build'
Manual merge of pull request #2096.

Closes #2096.


Former-commit-id: d798f6a3523160dc702ce3fe2003369bed6c2472
Former-commit-id: 08ec85ab505495ce48e4b6a57a26c06e3408027c
Former-commit-id: 22a6f419ce68aa05d178c6517b71dfd4e246ee02

fendrin pushed a commit to fendrin/wesnoth-src that referenced this pull request Nov 2, 2017

Merge branch 'profile-build'
Manual merge of pull request #2096.

Closes #2096.


Former-commit-id: d798f6a3523160dc702ce3fe2003369bed6c2472
Former-commit-id: 08ec85ab505495ce48e4b6a57a26c06e3408027c
Former-commit-id: 22a6f419ce68aa05d178c6517b71dfd4e246ee02

fendrin pushed a commit to fendrin/wesnoth-src that referenced this pull request Nov 2, 2017

Merge branch 'profile-build'
Manual merge of pull request #2096.

Closes #2096.


Former-commit-id: d798f6a3523160dc702ce3fe2003369bed6c2472
Former-commit-id: 08ec85ab505495ce48e4b6a57a26c06e3408027c
Former-commit-id: 22a6f419ce68aa05d178c6517b71dfd4e246ee02

fendrin pushed a commit to fendrin/wesnoth-src that referenced this pull request Nov 2, 2017

Merge branch 'profile-build'
Manual merge of pull request #2096.

Closes #2096.


Former-commit-id: d798f6a3523160dc702ce3fe2003369bed6c2472
Former-commit-id: 08ec85ab505495ce48e4b6a57a26c06e3408027c
Former-commit-id: 22a6f419ce68aa05d178c6517b71dfd4e246ee02

fendrin pushed a commit to fendrin/wesnoth-src that referenced this pull request Nov 2, 2017

Merge branch 'profile-build'
Manual merge of pull request #2096.

Closes #2096.


Former-commit-id: d798f6a3523160dc702ce3fe2003369bed6c2472
Former-commit-id: 08ec85ab505495ce48e4b6a57a26c06e3408027c
Former-commit-id: 22a6f419ce68aa05d178c6517b71dfd4e246ee02

fendrin pushed a commit to fendrin/wesnoth-src that referenced this pull request Nov 6, 2017

Merge branch 'profile-build'
Manual merge of pull request #2096.

Closes #2096.


Former-commit-id: d798f6a3523160dc702ce3fe2003369bed6c2472
Former-commit-id: 08ec85ab505495ce48e4b6a57a26c06e3408027c
Former-commit-id: 22a6f419ce68aa05d178c6517b71dfd4e246ee02

fendrin pushed a commit to fendrin/wesnoth-src that referenced this pull request Nov 6, 2017

Merge branch 'profile-build'
Manual merge of pull request #2096.

Closes #2096.


Former-commit-id: d798f6a3523160dc702ce3fe2003369bed6c2472
Former-commit-id: 08ec85ab505495ce48e4b6a57a26c06e3408027c
Former-commit-id: 22a6f419ce68aa05d178c6517b71dfd4e246ee02
Former-commit-id: 1cd6ff7d41a87e5d916547c2bd924e2e89550893 [formerly 46bc4d01ea5f8997db79e819fbf9e8520706b8e0]
Former-commit-id: 8472b849cdbee288bd66558a2319e920476a1bf0

fendrin pushed a commit to fendrin/wesnoth-src that referenced this pull request Nov 6, 2017

Merge branch 'profile-build'
Manual merge of pull request #2096.

Closes #2096.


Former-commit-id: d798f6a3523160dc702ce3fe2003369bed6c2472
Former-commit-id: 08ec85ab505495ce48e4b6a57a26c06e3408027c
Former-commit-id: 22a6f419ce68aa05d178c6517b71dfd4e246ee02
Former-commit-id: 1cd6ff7d41a87e5d916547c2bd924e2e89550893 [formerly 46bc4d01ea5f8997db79e819fbf9e8520706b8e0]
Former-commit-id: 8472b849cdbee288bd66558a2319e920476a1bf0

@Pentarctagon Pentarctagon deleted the Pentarctagon:profile-build branch Nov 15, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment