joeybloggs
|
3e196d49c6
|
saving some bytes uint8 vs int
|
9 years ago |
joeybloggs
|
ecad6333b1
|
increase dive tag performance.
|
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
|
5d28ac67f7
|
remove validatable logic as it does't really work, both with clarity and pointer vs non-pointer receivers
|
9 years ago |
joeybloggs
|
e0e1af6a61
|
working instance
|
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
|
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 |