snowflake_test.go 466 B

123456789101112131415161718192021222324252627282930
  1. package snowflake
  2. import (
  3. "fmt"
  4. "runtime"
  5. "sync"
  6. "testing"
  7. "time"
  8. )
  9. func TestGenerateID(t *testing.T) {
  10. now := time.Now()
  11. node, _ := NewNode(1)
  12. var wg sync.WaitGroup
  13. fmt.Println(runtime.NumCPU())
  14. wg.Add(runtime.NumCPU())
  15. for i := 0; i < runtime.NumCPU(); i++ {
  16. go func() {
  17. for j := 0; j < 100000; j++ {
  18. _ = node.Generate()
  19. //id := node.Generate()
  20. //fmt.Println(id)
  21. }
  22. wg.Done()
  23. }()
  24. }
  25. wg.Wait()
  26. fmt.Println(time.Since(now))
  27. }