Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "log"
  5. "runtime"
  6. "time"
  7. )
  8.  
  9. var counter int
  10.  
  11. func main() {
  12. start := time.Now()
  13. runtime.GOMAXPROCS(8)
  14. counter = 1
  15. go memoryUsage()
  16. for {
  17. go fib(counter)
  18. counter++
  19. time.Sleep(1 * time.Millisecond)
  20. if counter == 100000 {
  21. break
  22. }
  23. }
  24. var m runtime.MemStats
  25. runtime.ReadMemStats(&m)
  26. since := time.Since(start)
  27. log.Printf("Alloc = %v TotalAlloc = %v Sys = %v NumGC = %v Fibs = %d Spent: %dms\n", m.Alloc/1024, m.TotalAlloc/1024, m.Sys/1024, m.NumGC, counter, int64(since/time.Millisecond))
  28. }
  29.  
  30. func memoryUsage() {
  31. for {
  32. var m runtime.MemStats
  33. runtime.ReadMemStats(&m)
  34. log.Printf("Alloc = %v TotalAlloc = %v Sys = %v NumGC = %v Fibs = %d\n", m.Alloc/1024, m.TotalAlloc/1024, m.Sys/1024, m.NumGC, counter)
  35. time.Sleep(200 * time.Millisecond)
  36. }
  37. }
  38.  
  39. func fib(counter int) {
  40. first := 0
  41. second := 1
  42. for {
  43. swap := first
  44. first = second
  45. second = swap + first
  46. if second == 99194853094755497 {
  47. break
  48. }
  49. time.Sleep(1 * time.Millisecond)
  50. }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement