Measure how much of "wuffs gen" is clang-format

----
$ time wuffs gen
       1 milliseconds generating the C code
     753 milliseconds formatting the C code via "clang-format-5.0"
gen unchanged:  /etcetera/wuffs/gen/c/wuffs-base.c
       0 milliseconds generating the C code
      19 milliseconds formatting the C code via "clang-format-5.0"
gen unchanged:  /etcetera/wuffs/gen/c/wuffs-std-adler32.c
gen unchanged:  /etcetera/wuffs/gen/wuffs/std/adler32.wuffs
       1 milliseconds generating the C code
      61 milliseconds formatting the C code via "clang-format-5.0"
gen unchanged:  /etcetera/wuffs/gen/c/wuffs-std-bmp.c
gen unchanged:  /etcetera/wuffs/gen/wuffs/std/bmp.wuffs
       1 milliseconds generating the C code
      78 milliseconds formatting the C code via "clang-format-5.0"
gen unchanged:  /etcetera/wuffs/gen/c/wuffs-std-crc32.c
gen unchanged:  /etcetera/wuffs/gen/wuffs/std/crc32.wuffs
       2 milliseconds generating the C code
      93 milliseconds formatting the C code via "clang-format-5.0"
gen unchanged:  /etcetera/wuffs/gen/c/wuffs-std-deflate.c
gen unchanged:  /etcetera/wuffs/gen/wuffs/std/deflate.wuffs
       0 milliseconds generating the C code
      34 milliseconds formatting the C code via "clang-format-5.0"
gen unchanged:  /etcetera/wuffs/gen/c/wuffs-std-lzw.c
gen unchanged:  /etcetera/wuffs/gen/wuffs/std/lzw.wuffs
       4 milliseconds generating the C code
     203 milliseconds formatting the C code via "clang-format-5.0"
gen unchanged:  /etcetera/wuffs/gen/c/wuffs-std-gif.c
gen unchanged:  /etcetera/wuffs/gen/wuffs/std/gif.wuffs
       0 milliseconds generating the C code
      33 milliseconds formatting the C code via "clang-format-5.0"
gen unchanged:  /etcetera/wuffs/gen/c/wuffs-std-gzip.c
gen unchanged:  /etcetera/wuffs/gen/wuffs/std/gzip.wuffs
       4 milliseconds generating the C code
     135 milliseconds formatting the C code via "clang-format-5.0"
gen unchanged:  /etcetera/wuffs/gen/c/wuffs-std-json.c
gen unchanged:  /etcetera/wuffs/gen/wuffs/std/json.wuffs
       0 milliseconds generating the C code
      44 milliseconds formatting the C code via "clang-format-5.0"
gen unchanged:  /etcetera/wuffs/gen/c/wuffs-std-wbmp.c
gen unchanged:  /etcetera/wuffs/gen/wuffs/std/wbmp.wuffs
       0 milliseconds generating the C code
      32 milliseconds formatting the C code via "clang-format-5.0"
gen unchanged:  /etcetera/wuffs/gen/c/wuffs-std-zlib.c
gen unchanged:  /etcetera/wuffs/gen/wuffs/std/zlib.wuffs
       3 milliseconds collecting the C code
    1173 milliseconds formatting the C code via "clang-format-5.0"
gen unchanged:  /etcetera/wuffs/release/c/wuffs-unsupported-snapshot.c

real	0m2.849s
user	0m2.674s
sys	0m0.278s
----
diff --git a/cmd/wuffs-c/release.go b/cmd/wuffs-c/release.go
index 684b166..1b435c6 100644
--- a/cmd/wuffs-c/release.go
+++ b/cmd/wuffs-c/release.go
@@ -24,11 +24,17 @@
 	"path/filepath"
 	"sort"
 	"strings"
+	"time"
 
 	cf "github.com/google/wuffs/cmd/commonflags"
 )
 
 func doGenrelease(args []string) error {
+	// printTimings set true will print the time taken for the cformatter and
+	// other work.
+	const printTimings = false
+	now := time.Now()
+
 	flags := flag.FlagSet{}
 	cformatterFlag := flags.String("cformatter", cf.CformatterDefault, cf.CformatterUsage)
 	commitDateFlag := flags.String("commitdate", "", "git commit date the release was built from")
@@ -125,11 +131,22 @@
 	unformatted.WriteString(grPragmaPop)
 	unformatted.WriteString("\n\n#endif  // WUFFS_INCLUDE_GUARD\n\n")
 
+	if printTimings {
+		fmt.Fprintf(os.Stderr, "%8d milliseconds collecting the C code\n",
+			time.Since(now).Milliseconds())
+		now = time.Now()
+	}
+
 	cmd := exec.Command(*cformatterFlag, "-style=Chromium")
 	cmd.Stdin = unformatted
 	cmd.Stdout = os.Stdout
 	cmd.Stderr = os.Stderr
-	return cmd.Run()
+	err := cmd.Run()
+	if printTimings {
+		fmt.Fprintf(os.Stderr, "%8d milliseconds formatting the C code via %q\n",
+			time.Since(now).Milliseconds(), *cformatterFlag)
+	}
+	return err
 }
 
 var (
diff --git a/internal/cgen/cgen.go b/internal/cgen/cgen.go
index d2f867b..f910e97 100644
--- a/internal/cgen/cgen.go
+++ b/internal/cgen/cgen.go
@@ -26,6 +26,7 @@
 	"os/exec"
 	"sort"
 	"strings"
+	"time"
 
 	"github.com/google/wuffs/lang/builtin"
 	"github.com/google/wuffs/lang/generate"
@@ -116,6 +117,11 @@
 	genlinenumFlag := flags.Bool("genlinenum", cf.GenlinenumDefault, cf.GenlinenumUsage)
 
 	return generate.Do(&flags, args, func(pkgName string, tm *t.Map, files []*a.File) ([]byte, error) {
+		// printTimings set true will print the time taken for the cformatter
+		// and other work.
+		const printTimings = false
+		now := time.Now()
+
 		if !cf.IsAlphaNumericIsh(*cformatterFlag) {
 			return nil, fmt.Errorf("bad -cformatter flag value %q", *cformatterFlag)
 		}
@@ -182,6 +188,12 @@
 			}
 		}
 
+		if printTimings {
+			fmt.Fprintf(os.Stderr, "%8d milliseconds generating the C code\n",
+				time.Since(now).Milliseconds())
+			now = time.Now()
+		}
+
 		stdout := &bytes.Buffer{}
 		cmd := exec.Command(*cformatterFlag, "-style=Chromium")
 		cmd.Stdin = bytes.NewReader(unformatted)
@@ -190,6 +202,10 @@
 		if err := cmd.Run(); err != nil {
 			return nil, err
 		}
+		if printTimings {
+			fmt.Fprintf(os.Stderr, "%8d milliseconds formatting the C code via %q\n",
+				time.Since(now).Milliseconds(), *cformatterFlag)
+		}
 		return stdout.Bytes(), nil
 	})
 }