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

PKG: differentiate uClibc & musl PGO data #157

Merged
merged 3 commits into from
Feb 28, 2025
Merged

Conversation

Apaczer
Copy link
Member

@Apaczer Apaczer commented Feb 28, 2025

  • split uClibc & musl PGO=APPLY pre build cmds
  • add musl PGO data
    • libretro-mednafen-wswan (musl)
    • libretro-gpsp (musl->uclibc_copy)
    • libretro-pcsx (musl->uclibc_copy)
    • libretro-snes9x2002 (musl->uclibc_copy)

Generally we shouldl not use the same profiling data for both libs, even some minor miss code coverage can result in worse optimization, not to mention difference in memory allocation and threading which IMO may obscure profiling. The difference is much noticable in libretro-mednafen-wswan in favor of using unique *.gcda.
That being said there still may be some perf. benefit over not using PGO at all, so for missing musl gcov data let us for now copy over from uclibc profiler.

-libretro-mednafen-wswan (musl->musl)
-libretro-gpsp (musl->uclibc_copy)
-libretro-pcsx (musl->uclibc_copy)
-libretro-snes9x2002 (musl->uclibc_copy)
@Apaczer
Copy link
Member Author

Apaczer commented Feb 28, 2025

via GCC man 10.1:

You should compile your code without optimization if you plan to use gcov because the optimization, by combining some lines of code into one function, may not give you as much information as you need to look for ‘hot spots’ where the code is using a great deal of computer time

so it may be worth doing next time profiling with -O0

@Apaczer Apaczer merged commit 4e9b579 into MiyooCFW:master Feb 28, 2025
4 checks passed
@Apaczer Apaczer deleted the pgo_split branch February 28, 2025 21:10
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.

1 participant