/Godeps/_workspace/src/gopkg.in/bluesuncorp/validator.v5/benchmarks_test.go
https://gitlab.com/voxxit/gogeoip2 · Go · 163 lines · 145 code · 18 blank · 0 comment · 5 complexity · 3603ff5cdbf9b58236894e783ec3cf5c MD5 · raw file
- package validator
- import "testing"
- func BenchmarkValidateField(b *testing.B) {
- for n := 0; n < b.N; n++ {
- validate.Field("1", "len=1")
- }
- }
- func BenchmarkValidateStructSimple(b *testing.B) {
- type Foo struct {
- StringValue string `validate:"min=5,max=10"`
- IntValue int `validate:"min=5,max=10"`
- }
- validFoo := &Foo{StringValue: "Foobar", IntValue: 7}
- invalidFoo := &Foo{StringValue: "Fo", IntValue: 3}
- for n := 0; n < b.N; n++ {
- validate.Struct(validFoo)
- validate.Struct(invalidFoo)
- }
- }
- func BenchmarkTemplateParallelSimple(b *testing.B) {
- type Foo struct {
- StringValue string `validate:"min=5,max=10"`
- IntValue int `validate:"min=5,max=10"`
- }
- validFoo := &Foo{StringValue: "Foobar", IntValue: 7}
- invalidFoo := &Foo{StringValue: "Fo", IntValue: 3}
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Struct(validFoo)
- validate.Struct(invalidFoo)
- }
- })
- }
- func BenchmarkValidateStructLarge(b *testing.B) {
- tFail := &TestString{
- Required: "",
- Len: "",
- Min: "",
- Max: "12345678901",
- MinMax: "",
- Lt: "0123456789",
- Lte: "01234567890",
- Gt: "1",
- Gte: "1",
- OmitEmpty: "12345678901",
- Sub: &SubTest{
- Test: "",
- },
- Anonymous: struct {
- A string `validate:"required"`
- }{
- A: "",
- },
- Iface: &Impl{
- F: "12",
- },
- }
- tSuccess := &TestString{
- Required: "Required",
- Len: "length==10",
- Min: "min=1",
- Max: "1234567890",
- MinMax: "12345",
- Lt: "012345678",
- Lte: "0123456789",
- Gt: "01234567890",
- Gte: "0123456789",
- OmitEmpty: "",
- Sub: &SubTest{
- Test: "1",
- },
- SubIgnore: &SubTest{
- Test: "",
- },
- Anonymous: struct {
- A string `validate:"required"`
- }{
- A: "1",
- },
- Iface: &Impl{
- F: "123",
- },
- }
- for n := 0; n < b.N; n++ {
- validate.Struct(tSuccess)
- validate.Struct(tFail)
- }
- }
- func BenchmarkTemplateParallelLarge(b *testing.B) {
- tFail := &TestString{
- Required: "",
- Len: "",
- Min: "",
- Max: "12345678901",
- MinMax: "",
- Lt: "0123456789",
- Lte: "01234567890",
- Gt: "1",
- Gte: "1",
- OmitEmpty: "12345678901",
- Sub: &SubTest{
- Test: "",
- },
- Anonymous: struct {
- A string `validate:"required"`
- }{
- A: "",
- },
- Iface: &Impl{
- F: "12",
- },
- }
- tSuccess := &TestString{
- Required: "Required",
- Len: "length==10",
- Min: "min=1",
- Max: "1234567890",
- MinMax: "12345",
- Lt: "012345678",
- Lte: "0123456789",
- Gt: "01234567890",
- Gte: "0123456789",
- OmitEmpty: "",
- Sub: &SubTest{
- Test: "1",
- },
- SubIgnore: &SubTest{
- Test: "",
- },
- Anonymous: struct {
- A string `validate:"required"`
- }{
- A: "1",
- },
- Iface: &Impl{
- F: "123",
- },
- }
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Struct(tSuccess)
- validate.Struct(tFail)
- }
- })
- }