Commit 18f1dd02 authored by luxq's avatar luxq

update test

parent 4d0e338d
...@@ -21,43 +21,63 @@ func getAWorker(id string) *WorkerInfo { ...@@ -21,43 +21,63 @@ func getAWorker(id string) *WorkerInfo {
} }
} }
func initData(id string) []*WorkerInfo { func initData() []*WorkerInfo {
w := make([]*WorkerInfo, 100000) tw := make([]*WorkerInfo, 0, 1000*100000)
for i := 0; i < 100000; i++ { for id := 0; id < 1000; id++ {
w[i] = &WorkerInfo{ idx := strconv.Itoa(id)
WorkerId: uuid.NewString(), for i := 0; i < 100000; i++ {
ModelId: id, w := &WorkerInfo{
WaitTime: rand.Intn(100), WorkerId: uuid.NewString(),
ModelId: idx,
WaitTime: rand.Intn(100),
}
tw = append(tw, w)
} }
} }
return w return tw
} }
func BenchmarkSortSet_AddWorker(b *testing.B) {
func TestSortSet_AddWorker(t *testing.T) {
client := redis.NewClient(&redis.Options{ client := redis.NewClient(&redis.Options{
Addr: "0.0.0.0:6379", Addr: "0.0.0.0:6379",
}) })
sortSet := NewSortSet(client) sortSet := NewSortSet(client)
mid := "13" fmt.Println("start add worker")
w := initData(mid) w := initData()
b.ResetTimer() for i := 0; i < len(w); i++ {
// start benchmark if err := sortSet.AddWorker(w[i]); err != nil {
for i := 0; i < b.N; i++ {
if err := sortSet.AddWorker(w[i%100000]); err != nil {
panic(fmt.Sprintf("add worker failed: %v", err)) panic(fmt.Sprintf("add worker failed: %v", err))
} }
} }
fmt.Println("add worker done")
} }
//
//func BenchmarkSortSet_AddWorker(b *testing.B) {
// client := redis.NewClient(&redis.Options{
// Addr: "0.0.0.0:6379",
// })
// sortSet := NewSortSet(client)
// w := initData()
// b.ResetTimer()
// // start benchmark
// for i := 0; i < b.N; i++ {
// if err := sortSet.AddWorker(w[i%100000]); err != nil {
// panic(fmt.Sprintf("add worker failed: %v", err))
// }
// }
//}
func BenchmarkSortSet_AddWorkerParallel(b *testing.B) { func BenchmarkSortSet_AddWorkerParallel(b *testing.B) {
client := redis.NewClient(&redis.Options{ client := redis.NewClient(&redis.Options{
Addr: "0.0.0.0:6379", Addr: "0.0.0.0:6379",
}) })
sortSet := NewSortSet(client) sortSet := NewSortSet(client)
mid := "18"
b.ResetTimer() b.ResetTimer()
// start benchmark // start benchmark
b.RunParallel(func(pb *testing.PB) { b.RunParallel(func(pb *testing.PB) {
for pb.Next() { for pb.Next() {
mid := getRandId(1000)
if err := sortSet.AddWorker(getAWorker(mid)); err != nil { if err := sortSet.AddWorker(getAWorker(mid)); err != nil {
panic(fmt.Sprintf("add worker failed: %v", err)) panic(fmt.Sprintf("add worker failed: %v", err))
} }
...@@ -65,31 +85,32 @@ func BenchmarkSortSet_AddWorkerParallel(b *testing.B) { ...@@ -65,31 +85,32 @@ func BenchmarkSortSet_AddWorkerParallel(b *testing.B) {
}) })
} }
func BenchmarkSortSet_FindWorker(b *testing.B) { //
client := redis.NewClient(&redis.Options{ //func BenchmarkSortSet_FindWorker(b *testing.B) {
Addr: "0.0.0.0:6379", // client := redis.NewClient(&redis.Options{
}) // Addr: "0.0.0.0:6379",
sortSet := NewSortSet(client) // })
mid := "13" // sortSet := NewSortSet(client)
b.ResetTimer() // mid := "13"
// start benchmark // b.ResetTimer()
for i := 0; i < b.N; i++ { // // start benchmark
if _, err := sortSet.FindWorker(mid, 10); err != nil { // for i := 0; i < b.N; i++ {
panic(fmt.Sprintf("find worker failed: %v", err)) // if _, err := sortSet.FindWorker(mid, 10); err != nil {
} // panic(fmt.Sprintf("find worker failed: %v", err))
} // }
} // }
//}
func BenchmarkSortSet_FindWorkerParallel(b *testing.B) { func BenchmarkSortSet_FindWorkerParallel(b *testing.B) {
client := redis.NewClient(&redis.Options{ client := redis.NewClient(&redis.Options{
Addr: "0.0.0.0:6379", Addr: "0.0.0.0:6379",
}) })
sortSet := NewSortSet(client) sortSet := NewSortSet(client)
mid := "18"
b.ResetTimer() b.ResetTimer()
// start benchmark // start benchmark
b.RunParallel(func(pb *testing.PB) { b.RunParallel(func(pb *testing.PB) {
for pb.Next() { for pb.Next() {
mid := getRandId(1000)
if _, err := sortSet.FindWorker(mid, 10); err != nil { if _, err := sortSet.FindWorker(mid, 10); err != nil {
panic(fmt.Sprintf("find worker failed: %v", err)) panic(fmt.Sprintf("find worker failed: %v", err))
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment