Bug 59351

Summary: Get per-file compile times
Product: WebKit Reporter: Nico Weber <thakis>
Component: Tools / TestsAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: ap, eric, evan, mihaip, nbhargava, sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   

Description Nico Weber 2011-04-25 14:59:37 PDT
Several approaches:
* ninja outputs these automatically into ninja.log
* Or one can set CC to a wrapper script that does `time gcc $*` and then writes the time somewhere (e.g. just >> to some log file, that's probably easiest)

(https://github.com/nico/complete/blob/master/server/builddb-cc is an overdesigned cc replacement that also injects a clang plugin and writes to a sqlite db. Mostly useful for entertainment purposes, but it also shows how to set CC so that xcodebuild sees it)
Comment 1 Eric Seidel (no email) 2011-04-25 15:22:41 PDT
timing-cc:

#!/bin/bash
echo $* >> /tmp/time.txt
(time gcc "$@") 2>> /tmp/time.txt

CC=/path/to/timing-cc build-webkit

seems to work.  Seems to spit out a bunch of junk at the top of the file, but I think that's just normal gcc stderr output which is normally not displayed by xcodebuild.
Comment 2 Eric Seidel (no email) 2011-04-25 16:22:25 PDT
Follow-up from Sam's session.
Comment 3 Evan Martin 2011-04-25 16:43:22 PDT
You probably will want to lock the output file to prevent parallel gcc processes from interleaving.  Otherwise Eric's script LGTM.