testbitset.go 841 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package main
  2. import (
  3. "time"
  4. "github.com/willf/bitset"
  5. //"gitee.com/wecisecode/util/set/iset"
  6. //"fmt"
  7. "log"
  8. "runtime"
  9. )
  10. func main() {
  11. stime := time.Now().UnixNano()
  12. nset := make([]*bitset.BitSet, 10000)
  13. for _, b := range nset {
  14. b = bitset.New(18432)
  15. //b = bitset.New(20480)
  16. st := 17942
  17. for i := 0; i < 365; i++ {
  18. b.Set(uint(st + i))
  19. }
  20. }
  21. /*nset := make([]*iset.Set, 10000)
  22. for _, b := range nset {
  23. b = iset.New()
  24. st := 17869
  25. for i:=0 ; i<365 ; i++{
  26. b.Add(st+i)
  27. }
  28. }*/
  29. etime := time.Now().UnixNano()
  30. var mem runtime.MemStats
  31. runtime.ReadMemStats(&mem)
  32. log.Println("==>", mem.TotalAlloc/1024/2014, "M", "==>", etime-stime)
  33. /*if b.Test(17869+200) {
  34. log.Println("true!")
  35. }else{
  36. log.Println("false!")
  37. }
  38. if b.Test(17869+400) {
  39. log.Println("true!")
  40. }else{
  41. log.Println("false!")
  42. }*/
  43. }