This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

PATCH: improved performance timing


This patch replaces the TIMEVAR macro with a more flexible tool for
measuring runtime performance of various parts of the compiler.
Timing variables, declared in a table file timevar.def, are pushed
onto a stack of currently active timers; elapsed time is assigned to
the topmost timing variable, so explicit subtraction of time elapsed
in subsystems is not necessary.  Adding new timing variables on an
exerimental or permanent basis should be easier now.

Timing variables keep track of user, system, and wall clock time
separately, on systems that support them.  This should make it easier,
for instance, to identify the source of swap thrashing when compiling
large (C++) files.

The get_run_time functions and print_time functions are kept but moved
into timevar.c, since they're still used in cp/lex.c.

In rest_of_compilation, reload_cse_regs is now timed, so that the sum
of the times for the various compiler phases plus GC adds up to nearly
100% of execution time.

No new C or C++ regressions; bootstraps on x86 Linux.  Installed on
approval from Mark Mitchell.


ChangeLog:

	* Makefile.in (OBJS): Add timevar.o.
	(toplev.o): Depend on timevar.h.
	(ggc-simple.o): Likewise.
	(ggc-page.o): Likewise.
	(timevar.o): New rule.
	(timevar.h): New rule.

	* timevar.h: New file.
	* timevar.c: Likewise.
	* timevar.def: Likewise.

	* toplev.h (gc_time, parse_time, varconst_time): Remove.
	* toplev.c: Use timevar_push and timevar_pop instead of TIMEVAR
	throughout.
	(TIMEVAR): Remove macro.
	(gc_time, parse_time, varconst_time, integration_time, jump_time,
	cse_time, gcse_time, loop_time, cse2_time, branch_prob_time,
	flow_time, combine_time, regmove_time, sched_time,
	local_alloc_time, global_alloc_time, flow2_time, peephole2_time,
	sched2_time, dbr_sched_time, reorder_blocks_time,
	rename_registers_time, shorten_branch_time, stack_reg_time,
	to_ssa_time, from_ssa_time, final_time, symout_time, dump_time,
	all_time): Remove.
	(compile_file): Don't initialize time variables.  Call
	init_timevar and start TV_TOTAL timer.  Call timevar_print instead
	of many calls to print_time.
	(rest_of_compilation): Add timing for reload_cse_regs.
	(get_run_time): Removed to timevar.c.
	(print_time): Likewise.
	(get_run_time): Implement using TV_TOTAL time variable.
	(print_time): Get total run time from get_run_time. 
	* ggc-page.c (ggc_collect): Push and pop TV_GC instead of
	computing elapsed time explicitly.
	* ggc-simple.c (ggc_collect): Likewise.
	(gc_time): Remove declaration.


cp/ChangeLog:

	* lex.c (my_get_run_time): Remove.
	(init_filename_times): Use get_run_time instead of my_get_run_time.
	(check_newline): Likewise.
	(dump_time_statistics): Likewise.
	* decl2.c (finish_file): Push and pop timevar TV_VARCONST instead
	of computing elapsed time explicitly.


Patch is large, so it follows gzipped and uuencoded.

begin 644 timevar-patch
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
?PQIB!C-@L<7'3%C;+SYFFDK?SM5S_/\62;YK*80!````
`
end

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]