Dean Karn
|
6f98212623
|
Update CONTRIBUTING.md
|
8 years ago |
Dean Karn
|
0af0043f29
|
update CI badge to v9
|
8 years ago |
Dean Karn
|
a7cc53a707
|
documentation, examples and template updates.
|
8 years ago |
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%
```
|
8 years ago |
Dean Karn
|
1cbfa0bbff
|
RC1 Release
|
8 years ago |
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%
```
|
8 years ago |
Dean Karn
|
852e5ff9f9
|
Merge pull request #252 from go-playground/v8
Update README.md
|
8 years ago |
joeybloggs
|
2de56ed26a
|
add parallel versions of all benchmarks
|
8 years ago |
joeybloggs
|
3e196d49c6
|
saving some bytes uint8 vs int
|
8 years ago |
joeybloggs
|
b2c8f66e7b
|
why pass the Field names, they already belong to the namespaces...
|
8 years ago |
joeybloggs
|
ea09db9292
|
aha! there's the extra allocation(s) Ive been chasing down!
|
9 years ago |
joeybloggs
|
1714ba2b67
|
convert switch to if
|
9 years ago |
joeybloggs
|
6765805f88
|
continuing perf optimizations
|
9 years ago |
joeybloggs
|
27b607d6ad
|
avoid a couple of dive allocations
|
9 years ago |
joeybloggs
|
01925e342a
|
regain 100% test coverage
|
9 years ago |
joeybloggs
|
ecad6333b1
|
increase dive tag performance.
|
9 years ago |
joeybloggs
|
dcdba454d7
|
some variable cleanup
|
9 years ago |
joeybloggs
|
d9bfef9fe0
|
speed up structPartial and structExcept string parsing
|
9 years ago |
joeybloggs
|
8d0fd80a80
|
removed creation of a couple stack variables and creation of errors
|
9 years ago |
joeybloggs
|
a8f7aaba72
|
remove TODO: tried it, only helped with 1 allocation, not worth the overhead and potential contention
|
9 years ago |
joeybloggs
|
f581a2d517
|
reuse field
|
9 years ago |
joeybloggs
|
98dee40973
|
perf updates all around!
|
9 years ago |
joeybloggs
|
560bff6526
|
testing
|
9 years ago |
joeybloggs
|
8c60a612c5
|
code coverage back to 100% + some code cleanup
|
9 years ago |
joeybloggs
|
2fe87f7a8d
|
better error message.
|
9 years ago |
joeybloggs
|
5fedd8c08a
|
buffer errTag + errs array.
|
9 years ago |
joeybloggs
|
5d28ac67f7
|
remove validatable logic as it does't really work, both with clarity and pointer vs non-pointer receivers
|
9 years ago |
joeybloggs
|
1ff58be284
|
finish conversion of test + some fixes.
|
9 years ago |
joeybloggs
|
3bf69e2bbd
|
converting tests
|
9 years ago |
joeybloggs
|
7e731afde9
|
field name updates
|
9 years ago |
joeybloggs
|
e0e1af6a61
|
working instance
|
9 years ago |
Dean Karn
|
598aac293f
|
Update README.md
|
9 years ago |
joeybloggs
|
5f57d2222a
|
increment version in README
|
9 years ago |
joeybloggs
|
77f59a0ea0
|
corrected some spelling mistakes in documentation
|
9 years ago |
joeybloggs
|
1d3a3d281b
|
Merge branch 'minor-perf-1' into v8
|
9 years ago |
joeybloggs
|
89d5a94084
|
final touches + README updates
fresh test of old vs new benchmarks
```go
benchmark old ns/op new ns/op delta
BenchmarkFieldSuccess-8 155 118 -23.87%
BenchmarkFieldFailure-8 777 758 -2.45%
BenchmarkFieldDiveSuccess-8 2813 2471 -12.16%
BenchmarkFieldDiveFailure-8 3544 3172 -10.50%
BenchmarkFieldCustomTypeSuccess-8 328 300 -8.54%
BenchmarkFieldCustomTypeFailure-8 748 775 +3.61%
BenchmarkFieldOrTagSuccess-8 1169 1122 -4.02%
BenchmarkFieldOrTagFailure-8 1205 1167 -3.15%
BenchmarkStructLevelValidationSuccess-8 670 548 -18.21%
BenchmarkStructLevelValidationFailure-8 1380 558 -59.57%
BenchmarkStructSimpleCustomTypeSuccess-8 889 623 -29.92%
BenchmarkStructSimpleCustomTypeFailure-8 1536 1381 -10.09%
BenchmarkStructPartialSuccess-8 1194 1036 -13.23%
BenchmarkStructPartialFailure-8 1869 1734 -7.22%
BenchmarkStructExceptSuccess-8 949 888 -6.43%
BenchmarkStructExceptFailure-8 1181 1036 -12.28%
BenchmarkStructSimpleCrossFieldSuccess-8 948 773 -18.46%
BenchmarkStructSimpleCrossFieldFailure-8 1708 1487 -12.94%
BenchmarkStructSimpleCrossStructCrossFieldSuccess-8 1608 1261 -21.58%
BenchmarkStructSimpleCrossStructCrossFieldFailure-8 2320 2055 -11.42%
BenchmarkStructSimpleSuccess-8 833 519 -37.70%
BenchmarkStructSimpleFailure-8 1612 1429 -11.35%
BenchmarkStructSimpleSuccessParallel-8 239 146 -38.91%
BenchmarkStructSimpleFailureParallel-8 664 551 -17.02%
BenchmarkStructComplexSuccess-8 5025 3269 -34.95%
BenchmarkStructComplexFailure-8 10166 8436 -17.02%
BenchmarkStructComplexSuccessParallel-8 1591 1024 -35.64%
BenchmarkStructComplexFailureParallel-8 4306 3536 -17.88%
benchmark old allocs new allocs delta
BenchmarkFieldSuccess-8 0 0 +0.00%
BenchmarkFieldFailure-8 4 4 +0.00%
BenchmarkFieldDiveSuccess-8 27 28 +3.70%
BenchmarkFieldDiveFailure-8 31 32 +3.23%
BenchmarkFieldCustomTypeSuccess-8 2 2 +0.00%
BenchmarkFieldCustomTypeFailure-8 4 4 +0.00%
BenchmarkFieldOrTagSuccess-8 1 1 +0.00%
BenchmarkFieldOrTagFailure-8 6 6 +0.00%
BenchmarkStructLevelValidationSuccess-8 6 5 -16.67%
BenchmarkStructLevelValidationFailure-8 11 5 -54.55%
BenchmarkStructSimpleCustomTypeSuccess-8 5 3 -40.00%
BenchmarkStructSimpleCustomTypeFailure-8 11 9 -18.18%
BenchmarkStructPartialSuccess-8 10 9 -10.00%
BenchmarkStructPartialFailure-8 15 14 -6.67%
BenchmarkStructExceptSuccess-8 7 7 +0.00%
BenchmarkStructExceptFailure-8 10 9 -10.00%
BenchmarkStructSimpleCrossFieldSuccess-8 6 4 -33.33%
BenchmarkStructSimpleCrossFieldFailure-8 11 9 -18.18%
BenchmarkStructSimpleCrossStructCrossFieldSuccess-8 10 7 -30.00%
BenchmarkStructSimpleCrossStructCrossFieldFailure-8 15 12 -20.00%
BenchmarkStructSimpleSuccess-8 3 1 -66.67%
BenchmarkStructSimpleFailure-8 11 9 -18.18%
BenchmarkStructSimpleSuccessParallel-8 3 1 -66.67%
BenchmarkStructSimpleFailureParallel-8 11 9 -18.18%
BenchmarkStructComplexSuccess-8 32 15 -53.12%
BenchmarkStructComplexFailure-8 77 60 -22.08%
BenchmarkStructComplexSuccessParallel-8 32 15 -53.12%
BenchmarkStructComplexFailureParallel-8 77 60 -22.08%
benchmark old bytes new bytes delta
BenchmarkFieldSuccess-8 0 0 +0.00%
BenchmarkFieldFailure-8 432 432 +0.00%
BenchmarkFieldDiveSuccess-8 384 464 +20.83%
BenchmarkFieldDiveFailure-8 816 896 +9.80%
BenchmarkFieldCustomTypeSuccess-8 32 32 +0.00%
BenchmarkFieldCustomTypeFailure-8 432 432 +0.00%
BenchmarkFieldOrTagSuccess-8 4 4 +0.00%
BenchmarkFieldOrTagFailure-8 448 448 +0.00%
BenchmarkStructLevelValidationSuccess-8 168 160 -4.76%
BenchmarkStructLevelValidationFailure-8 632 160 -74.68%
BenchmarkStructSimpleCustomTypeSuccess-8 56 36 -35.71%
BenchmarkStructSimpleCustomTypeFailure-8 656 640 -2.44%
BenchmarkStructPartialSuccess-8 352 272 -22.73%
BenchmarkStructPartialFailure-8 808 730 -9.65%
BenchmarkStructExceptSuccess-8 314 250 -20.38%
BenchmarkStructExceptFailure-8 352 272 -22.73%
BenchmarkStructSimpleCrossFieldSuccess-8 96 80 -16.67%
BenchmarkStructSimpleCrossFieldFailure-8 552 536 -2.90%
BenchmarkStructSimpleCrossStructCrossFieldSuccess-8 136 112 -17.65%
BenchmarkStructSimpleCrossStructCrossFieldFailure-8 600 576 -4.00%
BenchmarkStructSimpleSuccess-8 24 4 -83.33%
BenchmarkStructSimpleFailure-8 656 640 -2.44%
BenchmarkStructSimpleSuccessParallel-8 24 4 -83.33%
BenchmarkStructSimpleFailureParallel-8 656 640 -2.44%
BenchmarkStructComplexSuccess-8 392 244 -37.76%
BenchmarkStructComplexFailure-8 3745 3609 -3.63%
BenchmarkStructComplexSuccessParallel-8 392 244 -37.76%
BenchmarkStructComplexFailureParallel-8 3745 3609 -3.63%
```
|
9 years ago |
joeybloggs
|
80301d1184
|
fix go report card badge.
|
9 years ago |
joeybloggs
|
49d9b2c35e
|
Merge branch 'minor-perf-merge' into minor-perf-1
|
9 years ago |
joeybloggs
|
99a0f5e141
|
Merge branch 'merge' into minor-perf-merge
# Conflicts:
# util.go
# validator.go
# validator_test.go
|
9 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
|
9 years ago |
Dean Karn
|
393130c3f4
|
Merge pull request #248 from go-playground/v8
Merge v8 changes
|
9 years ago |
joeybloggs
|
3ef55a89aa
|
fix some needed Type() calls.
|
9 years ago |
joeybloggs
|
43f7b7d61a
|
save some bytes
|
9 years ago |
joeybloggs
|
05d6aece82
|
remove a few TODO's attempted but perf didn't increase.
|
9 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%
```
|
9 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%
```
|
9 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%
```
|
9 years ago |
joeybloggs
|
c0a414dc9e
|
initial un-refined new caching system
|
9 years ago |
joeybloggs
|
5c8ad6a1a9
|
only check struct validity once
|
9 years ago |
joeybloggs
|
cdfcf16a86
|
fix some minor listing.
|
9 years ago |