use TickDuration instead of clock() for higher precision when profiling the GC

also fixes building with PRINTF_TO_FILE