Skip to content

Instantly share code, notes, and snippets.

@taotetek
Created May 19, 2015 11:02
Show Gist options
  • Save taotetek/614f4d9453d28261db2c to your computer and use it in GitHub Desktop.
Save taotetek/614f4d9453d28261db2c to your computer and use it in GitHub Desktop.
wow
func benchmarkLogtalez(size int, b *testing.B) {
endpoints := []string{"inproc://benchmark"}
topics := []string{""}
servercert := "./example_certs/example_curve_server_cert"
clientcert := "./example_certs/example_curve_client_cert"
go func() {
lt, err := New(endpoints, topics, servercert, clientcert)
if err != nil {
panic(err)
}
for i := 0; i < b.N; i++ {
msg := <-lt.TailChan
if len(msg[0]) != size {
panic(err)
}
}
}()
auth := goczmq.NewAuth()
defer auth.Destroy()
clientCert, err := goczmq.NewCertFromFile(clientcert)
if err != nil {
panic(err)
}
defer clientCert.Destroy()
server := goczmq.NewSock(goczmq.Pub)
defer server.Destroy()
server.SetZapDomain("global")
serverCert, err := goczmq.NewCertFromFile(servercert)
defer serverCert.Destroy()
if err != nil {
panic(err)
}
serverCert.Apply(server)
server.SetCurveServer(1)
err = auth.Curve("./example_certs/")
if err != nil {
panic(err)
}
server.Bind(endpoints[0])
msg := make([]byte, size)
for i := 0; i < b.N; i++ {
server.SendFrame(msg, 0)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment