joeybloggs
49d9b2c35e
Merge branch 'minor-perf-merge' into minor-perf-1
8 years ago
joeybloggs
99a0f5e141
Merge branch 'merge' into minor-perf-merge
...
# Conflicts:
# util.go
# validator.go
# validator_test.go
8 years ago
joeybloggs
7a080ada5b
Fix issue with omitempty combined with nullable types in combination with a default static value set as the value
...
fix for issue-#249
8 years ago
Dean Karn
393130c3f4
Merge pull request #248 from go-playground/v8
...
Merge v8 changes
8 years ago
joeybloggs
3ef55a89aa
fix some needed Type() calls.
8 years ago
joeybloggs
43f7b7d61a
save some bytes
8 years ago
joeybloggs
05d6aece82
remove a few TODO's attempted but perf didn't increase.
8 years ago
joeybloggs
4ce4d1cd71
gain another 5% on average by changing tag type from bool's to enum
...
```
benchmark old ns/op new ns/op delta
BenchmarkFieldSuccess-4 117 116 -0.85%
BenchmarkFieldFailure-4 675 651 -3.56%
BenchmarkFieldDiveSuccess-4 2518 2418 -3.97%
BenchmarkFieldDiveFailure-4 3096 3011 -2.75%
BenchmarkFieldCustomTypeSuccess-4 319 297 -6.90%
BenchmarkFieldCustomTypeFailure-4 688 680 -1.16%
BenchmarkFieldOrTagSuccess-4 1251 1176 -6.00%
BenchmarkFieldOrTagFailure-4 1090 1073 -1.56%
BenchmarkStructLevelValidationSuccess-4 558 567 +1.61%
BenchmarkStructLevelValidationFailure-4 608 562 -7.57%
BenchmarkStructSimpleCustomTypeSuccess-4 702 636 -9.40%
BenchmarkStructSimpleCustomTypeFailure-4 1380 1295 -6.16%
BenchmarkStructPartialSuccess-4 1139 1058 -7.11%
BenchmarkStructPartialFailure-4 1760 1648 -6.36%
BenchmarkStructExceptSuccess-4 951 917 -3.58%
BenchmarkStructExceptFailure-4 1147 1085 -5.41%
BenchmarkStructSimpleCrossFieldSuccess-4 873 783 -10.31%
BenchmarkStructSimpleCrossFieldFailure-4 1478 1384 -6.36%
BenchmarkStructSimpleCrossStructCrossFieldSuccess-4 1328 1273 -4.14%
BenchmarkStructSimpleCrossStructCrossFieldFailure-4 1949 1896 -2.72%
BenchmarkStructSimpleSuccess-4 559 523 -6.44%
BenchmarkStructSimpleFailure-4 1334 1311 -1.72%
BenchmarkStructSimpleSuccessParallel-4 148 137 -7.43%
BenchmarkStructSimpleFailureParallel-4 631 591 -6.34%
BenchmarkStructComplexSuccess-4 3476 3500 +0.69%
BenchmarkStructComplexFailure-4 8467 8406 -0.72%
BenchmarkStructComplexSuccessParallel-4 1098 1012 -7.83%
BenchmarkStructComplexFailureParallel-4 3113 3121 +0.26%
benchmark old allocs new allocs delta
BenchmarkFieldSuccess-4 0 0 +0.00%
BenchmarkFieldFailure-4 4 4 +0.00%
BenchmarkFieldDiveSuccess-4 28 28 +0.00%
BenchmarkFieldDiveFailure-4 32 32 +0.00%
BenchmarkFieldCustomTypeSuccess-4 2 2 +0.00%
BenchmarkFieldCustomTypeFailure-4 4 4 +0.00%
BenchmarkFieldOrTagSuccess-4 1 1 +0.00%
BenchmarkFieldOrTagFailure-4 6 6 +0.00%
BenchmarkStructLevelValidationSuccess-4 5 5 +0.00%
BenchmarkStructLevelValidationFailure-4 5 5 +0.00%
BenchmarkStructSimpleCustomTypeSuccess-4 3 3 +0.00%
BenchmarkStructSimpleCustomTypeFailure-4 9 9 +0.00%
BenchmarkStructPartialSuccess-4 9 9 +0.00%
BenchmarkStructPartialFailure-4 14 14 +0.00%
BenchmarkStructExceptSuccess-4 7 7 +0.00%
BenchmarkStructExceptFailure-4 9 9 +0.00%
BenchmarkStructSimpleCrossFieldSuccess-4 4 4 +0.00%
BenchmarkStructSimpleCrossFieldFailure-4 9 9 +0.00%
BenchmarkStructSimpleCrossStructCrossFieldSuccess-4 7 7 +0.00%
BenchmarkStructSimpleCrossStructCrossFieldFailure-4 12 12 +0.00%
BenchmarkStructSimpleSuccess-4 1 1 +0.00%
BenchmarkStructSimpleFailure-4 9 9 +0.00%
BenchmarkStructSimpleSuccessParallel-4 1 1 +0.00%
BenchmarkStructSimpleFailureParallel-4 9 9 +0.00%
BenchmarkStructComplexSuccess-4 15 15 +0.00%
BenchmarkStructComplexFailure-4 60 60 +0.00%
BenchmarkStructComplexSuccessParallel-4 15 15 +0.00%
BenchmarkStructComplexFailureParallel-4 60 60 +0.00%
benchmark old bytes new bytes delta
BenchmarkFieldSuccess-4 0 0 +0.00%
BenchmarkFieldFailure-4 432 432 +0.00%
BenchmarkFieldDiveSuccess-4 464 464 +0.00%
BenchmarkFieldDiveFailure-4 896 896 +0.00%
BenchmarkFieldCustomTypeSuccess-4 32 32 +0.00%
BenchmarkFieldCustomTypeFailure-4 432 432 +0.00%
BenchmarkFieldOrTagSuccess-4 4 4 +0.00%
BenchmarkFieldOrTagFailure-4 448 448 +0.00%
BenchmarkStructLevelValidationSuccess-4 160 160 +0.00%
BenchmarkStructLevelValidationFailure-4 160 160 +0.00%
BenchmarkStructSimpleCustomTypeSuccess-4 36 36 +0.00%
BenchmarkStructSimpleCustomTypeFailure-4 640 640 +0.00%
BenchmarkStructPartialSuccess-4 336 336 +0.00%
BenchmarkStructPartialFailure-4 794 794 +0.00%
BenchmarkStructExceptSuccess-4 314 314 +0.00%
BenchmarkStructExceptFailure-4 336 336 +0.00%
BenchmarkStructSimpleCrossFieldSuccess-4 80 80 +0.00%
BenchmarkStructSimpleCrossFieldFailure-4 536 536 +0.00%
BenchmarkStructSimpleCrossStructCrossFieldSuccess-4 112 112 +0.00%
BenchmarkStructSimpleCrossStructCrossFieldFailure-4 576 576 +0.00%
BenchmarkStructSimpleSuccess-4 4 4 +0.00%
BenchmarkStructSimpleFailure-4 640 640 +0.00%
BenchmarkStructSimpleSuccessParallel-4 4 4 +0.00%
BenchmarkStructSimpleFailureParallel-4 640 640 +0.00%
BenchmarkStructComplexSuccess-4 244 244 +0.00%
BenchmarkStructComplexFailure-4 3608 3608 +0.00%
BenchmarkStructComplexSuccessParallel-4 244 244 +0.00%
BenchmarkStructComplexFailureParallel-4 3608 3608 +0.00%
```
8 years ago
joeybloggs
330b12dacd
Phase 1 optimization complete, Phase 2 ( Warm liquid goo phase ) commencing
...
Still looking good
```
benchmark old ns/op new ns/op delta
BenchmarkFieldSuccess-4 167 119 -28.74%
BenchmarkFieldFailure-4 701 653 -6.85%
BenchmarkFieldDiveSuccess-4 2937 2488 -15.29%
BenchmarkFieldDiveFailure-4 3536 3059 -13.49%
BenchmarkFieldCustomTypeSuccess-4 341 292 -14.37%
BenchmarkFieldCustomTypeFailure-4 679 679 +0.00%
BenchmarkFieldOrTagSuccess-4 1157 1146 -0.95%
BenchmarkFieldOrTagFailure-4 1109 1063 -4.15%
BenchmarkStructLevelValidationSuccess-4 694 559 -19.45%
BenchmarkStructLevelValidationFailure-4 1311 551 -57.97%
BenchmarkStructSimpleCustomTypeSuccess-4 894 641 -28.30%
BenchmarkStructSimpleCustomTypeFailure-4 1496 1302 -12.97%
BenchmarkStructPartialSuccess-4 1229 1071 -12.86%
BenchmarkStructPartialFailure-4 1838 1685 -8.32%
BenchmarkStructExceptSuccess-4 961 927 -3.54%
BenchmarkStructExceptFailure-4 1218 1068 -12.32%
BenchmarkStructSimpleCrossFieldSuccess-4 954 779 -18.34%
BenchmarkStructSimpleCrossFieldFailure-4 1569 1405 -10.45%
BenchmarkStructSimpleCrossStructCrossFieldSuccess-4 1588 1299 -18.20%
BenchmarkStructSimpleCrossStructCrossFieldFailure-4 2217 1917 -13.53%
BenchmarkStructSimpleSuccess-4 925 519 -43.89%
BenchmarkStructSimpleFailure-4 1650 1323 -19.82%
BenchmarkStructSimpleSuccessParallel-4 261 149 -42.91%
BenchmarkStructSimpleFailureParallel-4 758 543 -28.36%
BenchmarkStructComplexSuccess-4 5868 3387 -42.28%
BenchmarkStructComplexFailure-4 10767 8498 -21.07%
BenchmarkStructComplexSuccessParallel-4 1559 1114 -28.54%
BenchmarkStructComplexFailureParallel-4 3747 3163 -15.59%
```
8 years ago
joeybloggs
210684a828
code cleanup + add missing tag cache with FieldWith func
...
Still looking good:
```
benchmark old ns/op new ns/op delta
BenchmarkFieldSuccess-4 167 119 -28.74%
BenchmarkFieldFailure-4 701 650 -7.28%
BenchmarkFieldDiveSuccess-4 2937 2482 -15.49%
BenchmarkFieldDiveFailure-4 3536 3046 -13.86%
BenchmarkFieldCustomTypeSuccess-4 341 296 -13.20%
BenchmarkFieldCustomTypeFailure-4 679 666 -1.91%
BenchmarkFieldOrTagSuccess-4 1157 1124 -2.85%
BenchmarkFieldOrTagFailure-4 1109 1036 -6.58%
BenchmarkStructLevelValidationSuccess-4 694 554 -20.17%
BenchmarkStructLevelValidationFailure-4 1311 558 -57.44%
BenchmarkStructSimpleCustomTypeSuccess-4 894 654 -26.85%
BenchmarkStructSimpleCustomTypeFailure-4 1496 1286 -14.04%
BenchmarkStructPartialSuccess-4 1229 1062 -13.59%
BenchmarkStructPartialFailure-4 1838 1639 -10.83%
BenchmarkStructExceptSuccess-4 961 919 -4.37%
BenchmarkStructExceptFailure-4 1218 1072 -11.99%
BenchmarkStructSimpleCrossFieldSuccess-4 954 800 -16.14%
BenchmarkStructSimpleCrossFieldFailure-4 1569 1372 -12.56%
BenchmarkStructSimpleCrossStructCrossFieldSuccess-4 1588 1274 -19.77%
BenchmarkStructSimpleCrossStructCrossFieldFailure-4 2217 1901 -14.25%
BenchmarkStructSimpleSuccess-4 925 512 -44.65%
BenchmarkStructSimpleFailure-4 1650 1318 -20.12%
BenchmarkStructSimpleSuccessParallel-4 261 144 -44.83%
BenchmarkStructSimpleFailureParallel-4 758 581 -23.35%
BenchmarkStructComplexSuccess-4 5868 3451 -41.19%
BenchmarkStructComplexFailure-4 10767 8351 -22.44%
BenchmarkStructComplexSuccessParallel-4 1559 1065 -31.69%
BenchmarkStructComplexFailureParallel-4 3747 2916 -22.18%
```
8 years ago
joeybloggs
c0a414dc9e
initial un-refined new caching system
8 years ago
joeybloggs
5c8ad6a1a9
only check struct validity once
8 years ago
joeybloggs
cdfcf16a86
fix some minor listing.
8 years ago
Dean Karn
25f1823069
Merge pull request #243 from kenkouot/patch-1
...
Fix typo: ne is validation key for not equal
9 years ago
Kenneth Kouot
719d0b12ee
Fix another typo: eq to ne
9 years ago
Kenneth Kouot
3499e730cb
Fix typo: ne is validation key for not equal
9 years ago
joeybloggs
014792cf3e
Update README version
9 years ago
joeybloggs
e7749ea250
Update validations for "url" and "uri" because of Go 1.6 changes
...
added checks for blank and fragment/suffix because of Go 1.6 change 617c93ce74 (diff-6c2d018290e298803c0c9419d8739885L195)
fix was to emulate browser and strip the '#' suffix prior to validation. see #237
9 years ago
joeybloggs
93bb347253
Update validations for "url" and "uri" because of Go 1.6 changes
...
added checks for blank and fragment/suffix because of Go 1.6 change 617c93ce74 (diff-6c2d018290e298803c0c9419d8739885L195)
fix was to emulate browser and strip the '#' suffix prior to validation. see #237
9 years ago
Dean Karn
1214d3629c
Update README.md
9 years ago
Dean Karn
bd356b6899
Merge pull request #235 from moogle19/master
...
Add unicode email tests
9 years ago
Kevin Seidel
851787be1b
Add unicode email tests
9 years ago
joeybloggs
f38559b489
Update checking unexpected fields for Go 1.6 https://tip.golang.org/doc/go1.6#reflect
...
* I have not run into the issue yet, but being preemptive
9 years ago
Dean Karn
4c79e69823
Merge pull request #234 from go-playground/krhubert
...
Add validation functions for tcp/udp/ip/unix addresses
9 years ago
joeybloggs
bf5ac690d6
Add a couple more test cases
9 years ago
joeybloggs
6851add4e4
Update to avoid double resolves
9 years ago
joeybloggs
4cb9152af0
correct IsUPDAddrResolvable functions
9 years ago
joeybloggs
faf40fd62f
Correct validation for TCPAddrResolvable
9 years ago
Dean Karn
73aaa89512
Update README.md
9 years ago
joeybloggs
7b758151c6
Add workaround for go issue
9 years ago
Hubert Krauze
3eaf857419
Add docs tcp/udp/ip/unix addresses resolve
9 years ago
Hubert Krauze
ee0ce7d37e
Add test for tcp/udp/ip/unix addresses resolve
9 years ago
Hubert Krauze
312ba49f28
Remove duplicated "Usage: mac" from docs
9 years ago
Hubert Krauze
def24ae611
Add Resolvable suffix to functions so they can be more meaningful
9 years ago
Hubert Krauze
5a99cf6052
Add validation functions for tcp/udp/ip/unix addresses
9 years ago
joeybloggs
c193cecd12
Merge branch 'complimentary-software-section' into v8
9 years ago
joeybloggs
64b7e2bb79
correct CI links
9 years ago
joeybloggs
50ada8d03a
Add Complimentary software section README
9 years ago
Dean Karn
d370e28d44
Merge pull request #232 from aarongreenlee/v8
...
Revisions to GoDoc
9 years ago
Aaron Greenlee
0b51ee1e8e
Removed duplicate punctuation.
9 years ago
Aaron Greenlee
71d9b9e91c
Some grammer corrections; Formatting of GoDoc
9 years ago
Aaron Greenlee
24ea3a17b5
Minor typo corrected in doc.go
9 years ago
Dean Karn
e8d470cd7a
Merge pull request #229 from go-playground/v8-development
...
Add FieldNamespace and NameNamespace + string comparison optimizations
9 years ago
Dean Karn
b737e38edb
Merge pull request #228 from joeybloggs/v8-development
...
Add FieldNamespace and NameNamespace + string comparison optimizations
9 years ago
joeybloggs
0862513fbf
Add some string check optimizations
...
* was using len(string) for some blank checks instead of string == ""
9 years ago
joeybloggs
0b533f264c
Only set namespace prefix when using FieldNameTag
9 years ago
joeybloggs
afbcf59553
Add FieldNamespace and NameNamespace
...
* Add FieldNamespace and NameNamespace to FieldError. This allows for having the CustomName i.e. JSON namespace contained within the NameNamespace which would be very useful when using a more restful API approach.
9 years ago
Dean Karn
bc50625289
Merge pull request #222 from go-playground/v8-development
...
Add validator logo
9 years ago
Dean Karn
e7cce24a67
Merge pull request #221 from muyiwaolurin/v8-development
...
Test Logo
9 years ago
Anthony Olurin
c4d5999ec0
Added logo to ReadMe
9 years ago