Tag:
Branch:
Tree:
d529ee1b0f
gh-actions
local
master
updates-and-fixes
v4
v5
v6
v7
v8
v9
v1.0
v10.0.0
v10.0.1
v10.1.0
v10.10.0
v10.10.1
v10.11.0
v10.11.1
v10.11.2
v10.12.0
v10.2.0
v10.3.0
v10.4.0
v10.4.1
v10.4.2
v10.5.0
v10.6.0
v10.6.1
v10.6.2
v10.7.0
v10.8.0
v10.9.0
v2.0
v2.1
v2.2
v2.3
v3.0
v3.0.1
v3.0.2
v4.0
v4.0.1
v4.0.3
v4.0.4
v5
v5.0.1
v5.0.2
v5.1
v5.10
v5.10.1
v5.10.2
v5.10.3
v5.11
v5.12
v5.2
v5.4
v5.5
v5.5.1
v5.6
v5.6.1
v5.7
v5.7.1
v5.8
v5.8.1
v5.9
v5.9.1
v5.9.2
v6.0
v6.0.1
v6.0.2
v6.1
v6.1.1
v6.2
v6.3
v6.4
v6.5
v6.5.1
v6.6
v6.7
v6.8
v7
v7.1
v7.2
v8
v8,8
v8.0.1
v8.1
v8.10
v8.11
v8.12
v8.13
v8.14
v8.15
v8.15.1
v8.16
v8.17
v8.17.1
v8.17.2
v8.17.3
v8.18.0
v8.18.1
v8.18.2
v8.2
v8.3
v8.4
v8.5
v8.6
v8.7
v8.8
v8.8.1
v8.9
v9
v9.0.0
v9.0.0RC1
v9.1.0
v9.1.1
v9.1.2
v9.1.3
v9.10.0
v9.11.0
v9.12.0
v9.13.0
v9.14.0
v9.15.0
v9.16.0
v9.16.1
v9.17.0
v9.17.1
v9.18
v9.19.0
v9.2.0
v9.2.1
v9.2.2
v9.20.0
v9.20.1
v9.20.2
v9.21.0
v9.21.1
v9.22.0
v9.23.0
v9.24.0
v9.25.0
v9.26.0
v9.27.0
v9.28.0
v9.29.0
v9.29.1
v9.3.0
v9.3.1
v9.3.2
v9.3.3
v9.3.4
v9.3.5
v9.3.6
v9.30.0
v9.30.1
v9.30.2
v9.31.0
v9.4.0
v9.5.0
v9.6.0
v9.7.0
v9.8.0
v9.9.0
v9.9.1
v9.9.2
v9.9.3
v9.9.4
${ noResults }
15 Commits (d529ee1b0f30352444f507cc6cdac96bfd12decc)
Author | SHA1 | Message | Date |
---|---|---|---|
Dean Karn | 0f6f568263 |
Add contextual validation support via context.Context (#296)
* Add contextual validation support via context.Context Added: - RegisterValidationCtx - RegisterStructValidationCtx - StructCtx - StructFilteredCtx - StructPartialCtx - StructExceptCtx - VarCtx - VarWithValueCtx |
7 years ago |
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% |
8 years ago |
joeybloggs | 3e196d49c6 |
saving some bytes uint8 vs int
|
8 years ago |
joeybloggs | ecad6333b1 |
increase dive tag performance.
|
8 years ago |
joeybloggs | 8c60a612c5 |
code coverage back to 100% + some code cleanup
|
8 years ago |
joeybloggs | 2fe87f7a8d |
better error message.
|
8 years ago |
joeybloggs | 5d28ac67f7 |
remove validatable logic as it does't really work, both with clarity and pointer vs non-pointer receivers
|
8 years ago |
joeybloggs | e0e1af6a61 |
working instance
|
8 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 | 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 | e019c28542 |
Add struct field + associated tags caching
* This essentially reduces the number of cache tag lookups for a structs fields to one. |
9 years ago |
joeybloggs | 94182a2199 |
init struct cache changes
|
9 years ago |