Commit graph

556 commits

Author SHA1 Message Date
Osamu TONOMORI
cf230a98d7 Fix usage of printable ascii 2016-12-27 14:16:31 +09:00
Dean Karn
077c3830f3 Correct Namespace when array or map of structs
namespace was incorrect when array or map of structs, see #266
2016-12-22 21:45:03 -05:00
Dean Karn
49fccadad1 correct structonly functionality
- structonly wasn’t behaving correctly when not used with an accompanying struct validation.
2016-12-06 20:51:45 -05:00
Dean Karn
941ce2cabc Merge pull request #262 from go-playground/unicode-alphas
Add alphaunicode & aplhanumericunicode
2016-11-30 08:42:06 -05:00
Dean Karn
4d76b0dd81 Add alphaunicode & aplhanumericunicode
- added unicode variants of alpha & alphanumeric
2016-11-30 08:37:03 -05:00
Dean Karn
597f93b316 Merge branch 'correct-error-order' into v9 2016-11-15 20:36:43 -05:00
Dean Karn
4e43fa1562 change field cache to array
- errors now come out in order for unit tests
- speed improvement using array vs map

benchmark                                                       old ns/op     new ns/op     delta
BenchmarkFieldSuccess-8                                         101           100           -0.99%
BenchmarkFieldSuccessParallel-8                                 33.2          33.7          +1.51%
BenchmarkFieldFailure-8                                         323           332           +2.79%
BenchmarkFieldFailureParallel-8                                 112           113           +0.89%
BenchmarkFieldDiveSuccess-8                                     719           714           -0.70%
BenchmarkFieldDiveSuccessParallel-8                             230           225           -2.17%
BenchmarkFieldDiveFailure-8                                     1001          987           -1.40%
BenchmarkFieldDiveFailureParallel-8                             323           317           -1.86%
BenchmarkFieldCustomTypeSuccess-8                               263           264           +0.38%
BenchmarkFieldCustomTypeSuccessParallel-8                       82.6          81.4          -1.45%
BenchmarkFieldCustomTypeFailure-8                               327           328           +0.31%
BenchmarkFieldCustomTypeFailureParallel-8                       116           116           +0.00%
BenchmarkFieldOrTagSuccess-8                                    871           878           +0.80%
BenchmarkFieldOrTagSuccessParallel-8                            394           402           +2.03%
BenchmarkFieldOrTagFailure-8                                    568           569           +0.18%
BenchmarkFieldOrTagFailureParallel-8                            397           401           +1.01%
BenchmarkStructLevelValidationSuccess-8                         332           267           -19.58%
BenchmarkStructLevelValidationSuccessParallel-8                 105           82.4          -21.52%
BenchmarkStructLevelValidationFailure-8                         637           557           -12.56%
BenchmarkStructLevelValidationFailureParallel-8                 260           226           -13.08%
BenchmarkStructSimpleCustomTypeSuccess-8                        525           452           -13.90%
BenchmarkStructSimpleCustomTypeSuccessParallel-8                155           144           -7.10%
BenchmarkStructSimpleCustomTypeFailure-8                        828           738           -10.87%
BenchmarkStructSimpleCustomTypeFailureParallel-8                345           285           -17.39%
BenchmarkStructFilteredSuccess-8                                744           664           -10.75%
BenchmarkStructFilteredSuccessParallel-8                        274           257           -6.20%
BenchmarkStructFilteredFailure-8                                595           517           -13.11%
BenchmarkStructFilteredFailureParallel-8                        250           195           -22.00%
BenchmarkStructPartialSuccess-8                                 674           608           -9.79%
BenchmarkStructPartialSuccessParallel-8                         256           225           -12.11%
BenchmarkStructPartialFailure-8                                 928           848           -8.62%
BenchmarkStructPartialFailureParallel-8                         399           360           -9.77%
BenchmarkStructExceptSuccess-8                                  1076          934           -13.20%
BenchmarkStructExceptSuccessParallel-8                          237           200           -15.61%
BenchmarkStructExceptFailure-8                                  873           787           -9.85%
BenchmarkStructExceptFailureParallel-8                          365           333           -8.77%
BenchmarkStructSimpleCrossFieldSuccess-8                        539           489           -9.28%
BenchmarkStructSimpleCrossFieldSuccessParallel-8                201           168           -16.42%
BenchmarkStructSimpleCrossFieldFailure-8                        788           709           -10.03%
BenchmarkStructSimpleCrossFieldFailureParallel-8                322           299           -7.14%
BenchmarkStructSimpleCrossStructCrossFieldSuccess-8             795           683           -14.09%
BenchmarkStructSimpleCrossStructCrossFieldSuccessParallel-8     241           211           -12.45%
BenchmarkStructSimpleCrossStructCrossFieldFailure-8             1110          940           -15.32%
BenchmarkStructSimpleCrossStructCrossFieldFailureParallel-8     399           333           -16.54%
BenchmarkStructSimpleSuccess-8                                  367           285           -22.34%
BenchmarkStructSimpleSuccessParallel-8                          108           91.0          -15.74%
BenchmarkStructSimpleFailure-8                                  776           698           -10.05%
BenchmarkStructSimpleFailureParallel-8                          307           284           -7.49%
BenchmarkStructComplexSuccess-8                                 2224          1622          -27.07%
BenchmarkStructComplexSuccessParallel-8                         718           526           -26.74%
BenchmarkStructComplexFailure-8                                 5350          4717          -11.83%
BenchmarkStructComplexFailureParallel-8                         2097          1853          -11.64%
2016-11-15 20:36:34 -05:00
Dean Karn
493dfb6209 correct required tag functionality for pointers, now works like old exists tag. 2016-09-28 10:56:49 -04:00
Dean Karn
506cc5da56 Add Filter logic 2016-09-25 13:48:20 -04:00
Dean Karn
0c0ae405d3 Update README.md 2016-09-22 19:10:05 -04:00
Dean Karn
335c8e2fac Merge pull request #256 from jawher/fix-goimports-diff
Fix universal translator imports so that goimports doesn't get remove them
2016-09-22 19:05:45 -04:00
Jawher Moussa
73e8e76de2 Fix universal translator imports so that goimports doesn't get remove them
Running goimports on the codebase deletes all the imports of "github.com/go-playground/universal-translator".

The fix consists of explicitly qualifying the import statements with ut.
2016-09-22 13:29:12 +02:00
Dean Karn
23e84d2f88 Update README.md 2016-09-19 11:36:13 -04:00
Dean Karn
678f8cf9a3 Merge branch 'field-level-validation2' into v9 2016-09-19 11:35:22 -04:00
Dean Karn
cddc415625 perf enhancements + corrected issue with or's
- or's weren't reporting the param back in the tag, long standing but noticed issue.
- added validation check for or's when more validations exist after the or.
2016-09-19 11:28:38 -04:00
Dean Karn
42a0d6df3b some minor perf with recursion 2016-09-17 14:12:20 -04:00
Dean Karn
7c2b5d8471 Update README.md 2016-09-16 13:24:00 -04:00
Dean Karn
4b3eedc379 Merge branch 'i18n-custom-errors' into v9 2016-09-15 15:58:17 -04:00
Dean Karn
110c8638eb add good documentation 2016-09-15 15:31:31 -04:00
Dean Karn
0e70fdfc72 add translation example + documentation 2016-09-15 15:31:07 -04:00
Dean Karn
a7ca4a1d32 add default translations for "en"
- need help creating more.
2016-09-15 14:50:04 -04:00
Dean Karn
532878b008 initial translation/custom error code 2016-09-14 14:48:46 -04:00
Dean Karn
6f98212623 Update CONTRIBUTING.md 2016-09-01 09:13:50 -04:00
Dean Karn
0af0043f29 update CI badge to v9 2016-09-01 08:38:55 -04:00
Dean Karn
a7cc53a707 documentation, examples and template updates. 2016-09-01 08:36:55 -04:00
Dean Karn
9ba3297c49 Update benchmarks run against Go 1.7
Go 1.7 some nice boosts, for nothing!

```

benchmark                                                       old ns/op     new ns/op     delta
BenchmarkFieldSuccess-8                                         147           108           -26.53%
BenchmarkFieldSuccessParallel-8                                 42.5          35.7          -16.00%
BenchmarkFieldFailure-8                                         417           320           -23.26%
BenchmarkFieldFailureParallel-8                                 140           113           -19.29%
BenchmarkFieldDiveSuccess-8                                     876           726           -17.12%
BenchmarkFieldDiveSuccessParallel-8                             277           263           -5.05%
BenchmarkFieldDiveFailure-8                                     1185          939           -20.76%
BenchmarkFieldDiveFailureParallel-8                             402           382           -4.98%
BenchmarkFieldCustomTypeSuccess-8                               321           268           -16.51%
BenchmarkFieldCustomTypeSuccessParallel-8                       104           87.8          -15.58%
BenchmarkFieldCustomTypeFailure-8                               416           310           -25.48%
BenchmarkFieldCustomTypeFailureParallel-8                       150           131           -12.67%
BenchmarkFieldOrTagSuccess-8                                    1119          889           -20.55%
BenchmarkFieldOrTagSuccessParallel-8                            462           418           -9.52%
BenchmarkFieldOrTagFailure-8                                    715           546           -23.64%
BenchmarkFieldOrTagFailureParallel-8                            436           450           +3.21%
BenchmarkStructLevelValidationSuccess-8                         399           336           -15.79%
BenchmarkStructLevelValidationSuccessParallel-8                 140           123           -12.14%
BenchmarkStructLevelValidationFailure-8                         749           611           -18.42%
BenchmarkStructLevelValidationFailureParallel-8                 296           298           +0.68%
BenchmarkStructSimpleCustomTypeSuccess-8                        673           555           -17.53%
BenchmarkStructSimpleCustomTypeSuccessParallel-8                213           197           -7.51%
BenchmarkStructSimpleCustomTypeFailure-8                        1056          811           -23.20%
BenchmarkStructSimpleCustomTypeFailureParallel-8                450           370           -17.78%
BenchmarkStructPartialSuccess-8                                 789           676           -14.32%
BenchmarkStructPartialSuccessParallel-8                         307           301           -1.95%
BenchmarkStructPartialFailure-8                                 1105          1001          -9.41%
BenchmarkStructPartialFailureParallel-8                         493           436           -11.56%
BenchmarkStructExceptSuccess-8                                  1212          1038          -14.36%
BenchmarkStructExceptSuccessParallel-8                          282           281           -0.35%
BenchmarkStructExceptFailure-8                                  1004          863           -14.04%
BenchmarkStructExceptFailureParallel-8                          452           379           -16.15%
BenchmarkStructSimpleCrossFieldSuccess-8                        656           549           -16.31%
BenchmarkStructSimpleCrossFieldSuccessParallel-8                211           192           -9.00%
BenchmarkStructSimpleCrossFieldFailure-8                        968           783           -19.11%
BenchmarkStructSimpleCrossFieldFailureParallel-8                406           296           -27.09%
BenchmarkStructSimpleCrossStructCrossFieldSuccess-8             1000          837           -16.30%
BenchmarkStructSimpleCrossStructCrossFieldSuccessParallel-8     334           284           -14.97%
BenchmarkStructSimpleCrossStructCrossFieldFailure-8             1324          1110          -16.16%
BenchmarkStructSimpleCrossStructCrossFieldFailureParallel-8     520           416           -20.00%
BenchmarkStructSimpleSuccess-8                                  534           380           -28.84%
BenchmarkStructSimpleSuccessParallel-8                          144           114           -20.83%
BenchmarkStructSimpleFailure-8                                  1039          760           -26.85%
BenchmarkStructSimpleFailureParallel-8                          419           353           -15.75%
BenchmarkStructComplexSuccess-8                                 2678          2100          -21.58%
BenchmarkStructComplexSuccessParallel-8                         874           662           -24.26%
BenchmarkStructComplexFailure-8                                 6342          5080          -19.90%
BenchmarkStructComplexFailureParallel-8                         2875          2159          -24.90%

benchmark                                                       old allocs     new allocs     delta
BenchmarkFieldSuccess-8                                         0              0              +0.00%
BenchmarkFieldSuccessParallel-8                                 0              0              +0.00%
BenchmarkFieldFailure-8                                         4              4              +0.00%
BenchmarkFieldFailureParallel-8                                 4              4              +0.00%
BenchmarkFieldDiveSuccess-8                                     11             11             +0.00%
BenchmarkFieldDiveSuccessParallel-8                             11             11             +0.00%
BenchmarkFieldDiveFailure-8                                     16             16             +0.00%
BenchmarkFieldDiveFailureParallel-8                             16             16             +0.00%
BenchmarkFieldCustomTypeSuccess-8                               2              2              +0.00%
BenchmarkFieldCustomTypeSuccessParallel-8                       2              2              +0.00%
BenchmarkFieldCustomTypeFailure-8                               4              4              +0.00%
BenchmarkFieldCustomTypeFailureParallel-8                       4              4              +0.00%
BenchmarkFieldOrTagSuccess-8                                    1              1              +0.00%
BenchmarkFieldOrTagSuccessParallel-8                            1              1              +0.00%
BenchmarkFieldOrTagFailure-8                                    5              5              +0.00%
BenchmarkFieldOrTagFailureParallel-8                            5              5              +0.00%
BenchmarkStructLevelValidationSuccess-8                         2              2              +0.00%
BenchmarkStructLevelValidationSuccessParallel-8                 2              2              +0.00%
BenchmarkStructLevelValidationFailure-8                         8              8              +0.00%
BenchmarkStructLevelValidationFailureParallel-8                 8              8              +0.00%
BenchmarkStructSimpleCustomTypeSuccess-8                        2              2              +0.00%
BenchmarkStructSimpleCustomTypeSuccessParallel-8                2              2              +0.00%
BenchmarkStructSimpleCustomTypeFailure-8                        9              9              +0.00%
BenchmarkStructSimpleCustomTypeFailureParallel-8                10             10             +0.00%
BenchmarkStructPartialSuccess-8                                 6              6              +0.00%
BenchmarkStructPartialSuccessParallel-8                         6              6              +0.00%
BenchmarkStructPartialFailure-8                                 11             11             +0.00%
BenchmarkStructPartialFailureParallel-8                         11             11             +0.00%
BenchmarkStructExceptSuccess-8                                  12             12             +0.00%
BenchmarkStructExceptSuccessParallel-8                          5              5              +0.00%
BenchmarkStructExceptFailure-8                                  10             10             +0.00%
BenchmarkStructExceptFailureParallel-8                          10             10             +0.00%
BenchmarkStructSimpleCrossFieldSuccess-8                        3              3              +0.00%
BenchmarkStructSimpleCrossFieldSuccessParallel-8                3              3              +0.00%
BenchmarkStructSimpleCrossFieldFailure-8                        8              8              +0.00%
BenchmarkStructSimpleCrossFieldFailureParallel-8                8              8              +0.00%
BenchmarkStructSimpleCrossStructCrossFieldSuccess-8             4              4              +0.00%
BenchmarkStructSimpleCrossStructCrossFieldSuccessParallel-8     4              4              +0.00%
BenchmarkStructSimpleCrossStructCrossFieldFailure-8             9              9              +0.00%
BenchmarkStructSimpleCrossStructCrossFieldFailureParallel-8     9              9              +0.00%
BenchmarkStructSimpleSuccess-8                                  0              0              +0.00%
BenchmarkStructSimpleSuccessParallel-8                          0              0              +0.00%
BenchmarkStructSimpleFailure-8                                  9              9              +0.00%
BenchmarkStructSimpleFailureParallel-8                          9              9              +0.00%
BenchmarkStructComplexSuccess-8                                 8              8              +0.00%
BenchmarkStructComplexSuccessParallel-8                         8              8              +0.00%
BenchmarkStructComplexFailure-8                                 53             53             +0.00%
BenchmarkStructComplexFailureParallel-8                         53             53             +0.00%

benchmark                                                       old bytes     new bytes     delta
BenchmarkFieldSuccess-8                                         0             0             +0.00%
BenchmarkFieldSuccessParallel-8                                 0             0             +0.00%
BenchmarkFieldFailure-8                                         192           192           +0.00%
BenchmarkFieldFailureParallel-8                                 192           192           +0.00%
BenchmarkFieldDiveSuccess-8                                     201           201           +0.00%
BenchmarkFieldDiveSuccessParallel-8                             201           201           +0.00%
BenchmarkFieldDiveFailure-8                                     396           396           +0.00%
BenchmarkFieldDiveFailureParallel-8                             397           397           +0.00%
BenchmarkFieldCustomTypeSuccess-8                               32            32            +0.00%
BenchmarkFieldCustomTypeSuccessParallel-8                       32            32            +0.00%
BenchmarkFieldCustomTypeFailure-8                               192           192           +0.00%
BenchmarkFieldCustomTypeFailureParallel-8                       192           192           +0.00%
BenchmarkFieldOrTagSuccess-8                                    16            16            +0.00%
BenchmarkFieldOrTagSuccessParallel-8                            16            16            +0.00%
BenchmarkFieldOrTagFailure-8                                    208           208           +0.00%
BenchmarkFieldOrTagFailureParallel-8                            208           208           +0.00%
BenchmarkStructLevelValidationSuccess-8                         32            32            +0.00%
BenchmarkStructLevelValidationSuccessParallel-8                 32            32            +0.00%
BenchmarkStructLevelValidationFailure-8                         288           288           +0.00%
BenchmarkStructLevelValidationFailureParallel-8                 288           288           +0.00%
BenchmarkStructSimpleCustomTypeSuccess-8                        32            32            +0.00%
BenchmarkStructSimpleCustomTypeSuccessParallel-8                32            32            +0.00%
BenchmarkStructSimpleCustomTypeFailure-8                        392           392           +0.00%
BenchmarkStructSimpleCustomTypeFailureParallel-8                408           408           +0.00%
BenchmarkStructPartialSuccess-8                                 256           256           +0.00%
BenchmarkStructPartialSuccessParallel-8                         256           256           +0.00%
BenchmarkStructPartialFailure-8                                 464           464           +0.00%
BenchmarkStructPartialFailureParallel-8                         464           464           +0.00%
BenchmarkStructExceptSuccess-8                                  480           480           +0.00%
BenchmarkStructExceptSuccessParallel-8                          240           240           +0.00%
BenchmarkStructExceptFailure-8                                  448           448           +0.00%
BenchmarkStructExceptFailureParallel-8                          448           448           +0.00%
BenchmarkStructSimpleCrossFieldSuccess-8                        72            72            +0.00%
BenchmarkStructSimpleCrossFieldSuccessParallel-8                72            72            +0.00%
BenchmarkStructSimpleCrossFieldFailure-8                        288           288           +0.00%
BenchmarkStructSimpleCrossFieldFailureParallel-8                288           288           +0.00%
BenchmarkStructSimpleCrossStructCrossFieldSuccess-8             80            80            +0.00%
BenchmarkStructSimpleCrossStructCrossFieldSuccessParallel-8     80            80            +0.00%
BenchmarkStructSimpleCrossStructCrossFieldFailure-8             304           304           +0.00%
BenchmarkStructSimpleCrossStructCrossFieldFailureParallel-8     304           304           +0.00%
BenchmarkStructSimpleSuccess-8                                  0             0             +0.00%
BenchmarkStructSimpleSuccessParallel-8                          0             0             +0.00%
BenchmarkStructSimpleFailure-8                                  392           392           +0.00%
BenchmarkStructSimpleFailureParallel-8                          392           392           +0.00%
BenchmarkStructComplexSuccess-8                                 128           128           +0.00%
BenchmarkStructComplexSuccessParallel-8                         128           128           +0.00%
BenchmarkStructComplexFailure-8                                 2833          2833          +0.00%
BenchmarkStructComplexFailureParallel-8                         2833          2833          +0.00%

```
2016-08-23 16:10:39 -04:00
Dean Karn
1cbfa0bbff RC1 Release 2016-08-08 10:13:19 -04:00
joeybloggs
b0883e6ed8 RC1 Release
- Updated docs ( much more to come )
- v9 is much simpler to use.

v8 vs v9 improvements

```
benchmark                                               old ns/op     new ns/op     delta
BenchmarkFieldSuccess-8                                 118           147           +24.58%
BenchmarkFieldFailure-8                                 758           417           -44.99%
BenchmarkFieldDiveSuccess-8                             2471          876           -64.55%
BenchmarkFieldDiveFailure-8                             3172          1185          -62.64%
BenchmarkFieldCustomTypeSuccess-8                       300           321           +7.00%
BenchmarkFieldCustomTypeFailure-8                       775           416           -46.32%
BenchmarkFieldOrTagSuccess-8                            1122          1119          -0.27%
BenchmarkFieldOrTagFailure-8                            1167          715           -38.73%
BenchmarkStructLevelValidationSuccess-8                 548           399           -27.19%
BenchmarkStructLevelValidationFailure-8                 558           749           +34.23%
BenchmarkStructSimpleCustomTypeSuccess-8                623           673           +8.03%
BenchmarkStructSimpleCustomTypeFailure-8                1381          1056          -23.53%
BenchmarkStructPartialSuccess-8                         1036          789           -23.84%
BenchmarkStructPartialFailure-8                         1734          1105          -36.27%
BenchmarkStructExceptSuccess-8                          888           1212          +36.49%
BenchmarkStructExceptFailure-8                          1036          1004          -3.09%
BenchmarkStructSimpleCrossFieldSuccess-8                773           656           -15.14%
BenchmarkStructSimpleCrossFieldFailure-8                1487          968           -34.90%
BenchmarkStructSimpleCrossStructCrossFieldSuccess-8     1261          1000          -20.70%
BenchmarkStructSimpleCrossStructCrossFieldFailure-8     2055          1324          -35.57%
BenchmarkStructSimpleSuccess-8                          519           534           +2.89%
BenchmarkStructSimpleFailure-8                          1429          1039          -27.29%
BenchmarkStructSimpleSuccessParallel-8                  146           144           -1.37%
BenchmarkStructSimpleFailureParallel-8                  551           419           -23.96%
BenchmarkStructComplexSuccess-8                         3269          2678          -18.08%
BenchmarkStructComplexFailure-8                         8436          6342          -24.82%
BenchmarkStructComplexSuccessParallel-8                 1024          874           -14.65%
BenchmarkStructComplexFailureParallel-8                 3536          2875          -18.69%

benchmark                                               old allocs     new allocs     delta
BenchmarkFieldSuccess-8                                 0              0              +0.00%
BenchmarkFieldFailure-8                                 4              4              +0.00%
BenchmarkFieldDiveSuccess-8                             28             11             -60.71%
BenchmarkFieldDiveFailure-8                             32             16             -50.00%
BenchmarkFieldCustomTypeSuccess-8                       2              2              +0.00%
BenchmarkFieldCustomTypeFailure-8                       4              4              +0.00%
BenchmarkFieldOrTagSuccess-8                            1              1              +0.00%
BenchmarkFieldOrTagFailure-8                            6              5              -16.67%
BenchmarkStructLevelValidationSuccess-8                 5              2              -60.00%
BenchmarkStructLevelValidationFailure-8                 5              8              +60.00%
BenchmarkStructSimpleCustomTypeSuccess-8                3              2              -33.33%
BenchmarkStructSimpleCustomTypeFailure-8                9              9              +0.00%
BenchmarkStructPartialSuccess-8                         9              6              -33.33%
BenchmarkStructPartialFailure-8                         14             11             -21.43%
BenchmarkStructExceptSuccess-8                          7              12             +71.43%
BenchmarkStructExceptFailure-8                          9              10             +11.11%
BenchmarkStructSimpleCrossFieldSuccess-8                4              3              -25.00%
BenchmarkStructSimpleCrossFieldFailure-8                9              8              -11.11%
BenchmarkStructSimpleCrossStructCrossFieldSuccess-8     7              4              -42.86%
BenchmarkStructSimpleCrossStructCrossFieldFailure-8     12             9              -25.00%
BenchmarkStructSimpleSuccess-8                          1              0              -100.00%
BenchmarkStructSimpleFailure-8                          9              9              +0.00%
BenchmarkStructSimpleSuccessParallel-8                  1              0              -100.00%
BenchmarkStructSimpleFailureParallel-8                  9              9              +0.00%
BenchmarkStructComplexSuccess-8                         15             8              -46.67%
BenchmarkStructComplexFailure-8                         60             53             -11.67%
BenchmarkStructComplexSuccessParallel-8                 15             8              -46.67%
BenchmarkStructComplexFailureParallel-8                 60             53             -11.67%

benchmark                                               old bytes     new bytes     delta
BenchmarkFieldSuccess-8                                 0             0             +0.00%
BenchmarkFieldFailure-8                                 432           192           -55.56%
BenchmarkFieldDiveSuccess-8                             464           201           -56.68%
BenchmarkFieldDiveFailure-8                             896           396           -55.80%
BenchmarkFieldCustomTypeSuccess-8                       32            32            +0.00%
BenchmarkFieldCustomTypeFailure-8                       432           192           -55.56%
BenchmarkFieldOrTagSuccess-8                            4             16            +300.00%
BenchmarkFieldOrTagFailure-8                            448           208           -53.57%
BenchmarkStructLevelValidationSuccess-8                 160           32            -80.00%
BenchmarkStructLevelValidationFailure-8                 160           288           +80.00%
BenchmarkStructSimpleCustomTypeSuccess-8                36            32            -11.11%
BenchmarkStructSimpleCustomTypeFailure-8                640           392           -38.75%
BenchmarkStructPartialSuccess-8                         272           256           -5.88%
BenchmarkStructPartialFailure-8                         730           464           -36.44%
BenchmarkStructExceptSuccess-8                          250           480           +92.00%
BenchmarkStructExceptFailure-8                          272           448           +64.71%
BenchmarkStructSimpleCrossFieldSuccess-8                80            72            -10.00%
BenchmarkStructSimpleCrossFieldFailure-8                536           288           -46.27%
BenchmarkStructSimpleCrossStructCrossFieldSuccess-8     112           80            -28.57%
BenchmarkStructSimpleCrossStructCrossFieldFailure-8     576           304           -47.22%
BenchmarkStructSimpleSuccess-8                          4             0             -100.00%
BenchmarkStructSimpleFailure-8                          640           392           -38.75%
BenchmarkStructSimpleSuccessParallel-8                  4             0             -100.00%
BenchmarkStructSimpleFailureParallel-8                  640           392           -38.75%
BenchmarkStructComplexSuccess-8                         244           128           -47.54%
BenchmarkStructComplexFailure-8                         3609          2833          -21.50%
BenchmarkStructComplexSuccessParallel-8                 244           128           -47.54%
BenchmarkStructComplexFailureParallel-8                 3609          2833          -21.50%
```
2016-08-08 09:54:52 -04:00
Dean Karn
852e5ff9f9 Merge pull request #252 from go-playground/v8
Update README.md
2016-08-06 22:00:05 -04:00
joeybloggs
2de56ed26a add parallel versions of all benchmarks 2016-08-06 21:47:16 -04:00
joeybloggs
3e196d49c6 saving some bytes uint8 vs int 2016-08-06 20:41:38 -04:00
joeybloggs
b2c8f66e7b why pass the Field names, they already belong to the namespaces... 2016-08-06 20:18:19 -04:00
joeybloggs
ea09db9292 aha! there's the extra allocation(s) Ive been chasing down! 2016-08-06 16:03:45 -04:00
joeybloggs
1714ba2b67 convert switch to if 2016-08-06 15:47:17 -04:00
joeybloggs
6765805f88 continuing perf optimizations 2016-08-06 15:23:45 -04:00
joeybloggs
27b607d6ad avoid a couple of dive allocations 2016-08-06 14:19:33 -04:00
joeybloggs
01925e342a regain 100% test coverage 2016-08-06 14:09:18 -04:00
joeybloggs
ecad6333b1 increase dive tag performance. 2016-08-06 13:55:36 -04:00
joeybloggs
dcdba454d7 some variable cleanup 2016-08-05 23:21:09 -04:00
joeybloggs
d9bfef9fe0 speed up structPartial and structExcept string parsing 2016-08-05 23:11:33 -04:00
joeybloggs
8d0fd80a80 removed creation of a couple stack variables and creation of errors 2016-08-05 23:02:12 -04:00
joeybloggs
a8f7aaba72 remove TODO: tried it, only helped with 1 allocation, not worth the overhead and potential contention 2016-08-05 22:34:40 -04:00
joeybloggs
f581a2d517 reuse field 2016-08-05 22:26:20 -04:00
joeybloggs
98dee40973 perf updates all around! 2016-08-05 22:15:08 -04:00
joeybloggs
560bff6526 testing 2016-08-05 16:10:01 -04:00
joeybloggs
8c60a612c5 code coverage back to 100% + some code cleanup 2016-08-05 12:34:43 -04:00
joeybloggs
2fe87f7a8d better error message. 2016-08-05 07:54:57 -04:00
joeybloggs
5fedd8c08a buffer errTag + errs array. 2016-08-05 07:15:25 -04:00
joeybloggs
5d28ac67f7 remove validatable logic as it does't really work, both with clarity and pointer vs non-pointer receivers 2016-08-04 21:20:58 -04:00
joeybloggs
1ff58be284 finish conversion of test + some fixes. 2016-08-04 11:00:01 -04:00