Opened 8 days ago

Last modified 8 days ago

#11776 new enhancement

Add gnu profiler support to night builds

Reported by: fedor4ever Owned by:
Priority: normal Component: --Unset--
Keywords: optimization, profiling Cc:
Game:

Description

As I know mingw used for night builds. Gcc can instrument functions for profiling. How use - just add to cflags "-pg". So simple. Please do it asap.
As symbian porter I wish to optimize cpu load of Blade runner.

Change History (3)

comment:1 by fedor4ever, 8 days ago

Summary: Add gnu profiler supportAdd gnu profiler support to night builds

comment:2 by criezy, 8 days ago

I am not sure adding gprof instrumentation to the builds on buildbot is a good idea as:

  • The instrumention overhead can be quite high, degrading performances for all users of those builds, even though most of those users don't care or want gprof data.
  • The buildbot builds are compiled without optimizations, which is not ideal for profiling since it could highlight performance issues in code that is actually optimized by the compiler in release builds. So usually you want to profile executables that have been built with optimizations.

Can you not build scummvm yourself?

There may also be some better alternatives to gprof that may not require instrumentation at compile time. On Linux I usually use the valgrind/callgrind/kcachegrind combo for profiling, and as far as I know there is also a profiler in Visual Studio. But I am not sure what exists for minggw builds on Windows.

comment:3 by fedor4ever, 8 days ago

Can you build optimized profiled version? I ask because get fresh build require time. Build bots invented to save peoples time. Why waste my precious time if bot can build for me?
If bot has limited resources you can built optimized profiled version once at two or three days, can you?

About profiling alternatives:

  • I'm windows user. I can instal linux on virtual machine and learn linux profiling, someday if be free time.
  • I hear that valgrind very heavy for system.
  • I read about Visual studio profiling - it works as gprof
  • mingw support gnu profiler.
Note: See TracTickets for help on using tickets.