package fasthttp import ( "sync/atomic" "time" ) // CoarseTimeNow returns the current time truncated to the nearest second. // // This is a faster alternative to time.Now(). func CoarseTimeNow() time.Time { tp := coarseTime.Load().(*time.Time) return *tp } func init() { t := time.Now().Truncate(time.Second) coarseTime.Store(&t) go func() { for { time.Sleep(time.Second) t := time.Now().Truncate(time.Second) coarseTime.Store(&t) } }() } var coarseTime atomic.Value