When --collect-systime is specified, Valgrind will be calling one of the various time syscalls for each of the client application syscalls. I would expect that to add a substantial overhead, particularly if your client application is calling very many "fast" syscalls.
The $systime function returns the current system date/time as a serial number, with an optional offset. The serial number can be compared to other serial date/times such as produced by the $ftimec/$ftimem functions.
Turn datespec into a timestamp in the same formas is returned by systime(). It is similar to the function of thesame name in ISO C. The argument, datespec, is a string of the form"YYYY MM DD HH MM SS [DST]".The string consists of six or seven numbers representing, respectively,the full year including century, the month from 1 to 12, the day of the monthfrom 1 to 31, the hour of the day from 0 to 23, the minute from 0 to59, the second from 0 to 60,58and an optional daylight-savings flag.
Format the time specified by timestampbased on the contents of the format string and return the result.It is similar to the function of the same name in ISO C.If utc-flag is present and is either nonzero or non-null, the valueis formatted as UTC (Coordinated Universal Time, formerly GMT or GreenwichMean Time). Otherwise, the value is formatted for the local time zone.The timestamp is in the same format as the value returned by thesystime() function. If no timestamp argument is supplied,gawk uses the current time of day as the timestamp.Without a format argument, strftime() usesthe value of PROCINFO["strftime"] as the format string(see Predefined Variables).The default string value is"%a %b %e %H:%M:%S %Z %Y". This format string producesoutput that is equivalent to that of the date utility.You can assign a new value to PROCINFO["strftime"] tochange the default format; see the following list for the various format directives.
The systime() function returns the current time of day as the number of seconds elapsed since midnight, January 1 1970, not counting leap seconds. This allows you to create a log file containing a timestamp using a seconds since the epoch format. This function can also be used to compare the timestamp with a file with the current time of day and for measuring how long a GAWK program takes to execute. The following example shows how the systime() function works: