time.go 449 B

12345678910111213141516171819202122232425
  1. package utils
  2. import (
  3. "fmt"
  4. "log"
  5. "time"
  6. )
  7. func TimeTrack(start time.Time, name string) {
  8. elapsed := time.Since(start)
  9. log.Printf("%s took %s", name, elapsed)
  10. }
  11. func ByteCountDecimal(b int64) string {
  12. const unit = 1000
  13. if b < unit {
  14. return fmt.Sprintf("%d B", b)
  15. }
  16. div, exp := int64(unit), 0
  17. for n := b / unit; n >= unit; n /= unit {
  18. div *= unit
  19. exp++
  20. }
  21. return fmt.Sprintf("%.1f %cB", float64(b)/float64(div), "kMGTPE"[exp])
  22. }