예제 #1
0
// ttl 未考虑
func BenchmarkWordFilterb(b *testing.B) {
	c := proto.NewWordFilterServiceClient(conn)
	for i := 0; i < b.N; i++ {
		r, err := c.Filter(context.Background(), &proto.WordFilter_Text{Text: testText[i%3]})
		if err != nil {
			b.Fatal(err)
		}
		_ = r
	}
}
예제 #2
0
func TestWordFilter(t *testing.T) {

	c := proto.NewWordFilterServiceClient(conn)

	// Contact the server and print out its response.
	for i := 0; i < 3; i++ {
		r, err := c.Filter(context.Background(), &proto.WordFilter_Text{Text: testText[i]})
		if err != nil {
			t.Fatalf("could not query: %v", err)
		}
		t.Logf("Filtered Text: %s", r.Text)
	}
}
예제 #3
0
func Test_WorldFiter(t *testing.T) {
	last := time.Now()
	c := proto.NewWordFilterServiceClient(conn)
	wait := sync.WaitGroup{}
	for i := 0; i < 10000; i++ {
		wait.Add(1)
		go func() {
			r, err := c.Filter(context.Background(), &proto.WordFilter_Text{Text: testText[i%3]})
			if err != nil {
				t.Fatal(err)
			}
			_ = r
			wait.Done()
		}()
	}

	wait.Wait()
	t.Logf("cost:%v", time.Now().Sub(last))
}