Joshua Haberman
d5c64476fd
Merge pull request #318 from haberman/descriptor-load-benchmark
...
Benchmarks for descriptor loading time.
4 years ago
Joshua Haberman
42d2f6cef9
Add MB/s measures in the benchmarks.
...
Current output on my machine is:
-----------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------------------------------------------
BM_ArenaOneAlloc 21 ns 21 ns 33344552
BM_ArenaInitialBlockOneAlloc 6 ns 6 ns 115948084
BM_LoadDescriptor_Upb 107286 ns 107275 ns 6512 67.5731MB/s
BM_LoadDescriptor_Proto2 240539 ns 240537 ns 2909 30.1362MB/s
BM_ParseDescriptor_Upb_LargeInitialBlock 11500 ns 11499 ns 60864 630.377MB/s
BM_ParseDescriptor_Upb 11920 ns 11920 ns 58676 608.123MB/s
BM_ParseDescriptor_Proto2_NoArena 31338 ns 31336 ns 22389 231.325MB/s
BM_ParseDescriptor_Proto2_Arena 21622 ns 21622 ns 32472 335.26MB/s
BM_ParseDescriptor_Proto2_Arena_LargeInitialBlock 17799 ns 17798 ns 39266 407.288MB/s
BM_SerializeDescriptor_Proto2 4943 ns 4942 ns 141050 1.43252GB/s
BM_SerializeDescriptor_Upb 12262 ns 12261 ns 57131 591.195MB/s
4 years ago
Joshua Haberman
1ce98b86ec
Added LoadDescriptor benchmark for proto2.
4 years ago
Joshua Haberman
4890735ce2
Added benchmark for descriptor loading.
4 years ago
Joshua Haberman
6874d61704
Merge pull request #317 from haberman/gencode-compat
...
Compatibility with old generated code
4 years ago
Joshua Haberman
c81113e60f
Added fallback code for when no enum matches.
4 years ago
Joshua Haberman
c10b24ffb2
Simplified switch().
4 years ago
Joshua Haberman
ded2e657a7
Added compatibility with old generated code.
...
Until everyone can regenerate their code, we need to provide
compatible semantics with the old generated code.
Also fixed a bug where enums were allocated 8 bytes instead
of 4.
4 years ago
Joshua Haberman
5b0c5c7d4a
Dispatch inline.
4 years ago
Joshua Haberman
75edd3e59c
Changed to use table pairs, seems to ever-so-slightly regress.
4 years ago
Joshua Haberman
69d99a247e
Merge pull request #3 from haberman/shifted-table
...
Compress table by storing mask in low bits of table pointer.
4 years ago
Joshua Haberman
bca7edac8c
Cleaned up table compression a bit.
4 years ago
Joshua Haberman
b95f217996
A little speed boost, now hitting 2.51GB/s.
4 years ago
Joshua Haberman
8ed6b2fe85
Stored mask in the table pointer.
4 years ago
Joshua Haberman
a6dc88556d
Tables are compressed, but perf goes down to 2.44GB/s.
4 years ago
Joshua Haberman
91eb09b1bc
Add a few comments.
4 years ago
Joshua Haberman
7a1835d7c3
Merge branch 'master' into fast-table
4 years ago
Joshua Haberman
8bd5c0088e
Merge pull request #316 from haberman/submsg-array
...
Fixed bug where submsg array could have excess elements.
4 years ago
Joshua Haberman
a4966fd230
Added a few extra sanity checks.
4 years ago
Joshua Haberman
99acbe0da8
Fixed bug where submsg array could have excess elements.
...
Before we were allocating an array element for every sub-message
field, even if two different fields had messages of the same type.
4 years ago
Joshua Haberman
2a0425ecf5
Merge pull request #315 from haberman/conformance-fixes
...
Updated to a new version of protobuf and fixed a few conformance tests.
4 years ago
Joshua Haberman
7ccf5650c7
If we encounter "null" for a non-NullValue enum, throw an error.
4 years ago
Joshua Haberman
0a3a94a12f
Updated to a new version of protobuf and fixed a few conformance tests.
...
When `google.protobuf.NullValue` appears on its own, we need to parse
and serialize it as plain JSON "null" value.
4 years ago
Joshua Haberman
ddd5f28c4f
Merge branch 'is_bazel'
4 years ago
Joshua Haberman
10fa3a0c77
Merge pull request #314 from haberman/addunknown
...
Fixed bug in addunknown and added ASAN poisoning.
4 years ago
Joshua Haberman
504e105420
undef UPB_ASAN.
4 years ago
Joshua Haberman
ab96d1ec41
Removed extraneous C++-style comment.
4 years ago
Joshua Haberman
d5096f9ee8
Fixed bug in addunknown and added ASAN poisoning.
4 years ago
Joshua Haberman
6fe84526be
Mark _is_bazel to be replace in google3.
4 years ago
Joshua Haberman
f01efe8b64
Removed another C99-ism.
4 years ago
Joshua Haberman
1749082bbb
Removed C99-ism.
4 years ago
Joshua Haberman
147e363f56
Merge branch 'master' into fast-table
4 years ago
Joshua Haberman
f2ddc15d76
Bugfix: initialize fastlimit and fastend.
4 years ago
Joshua Haberman
65e49b694b
Merge branch 'gerben-fast-table' into fast-table
4 years ago
Joshua Haberman
1abf7d418d
Added generated files.
4 years ago
Gerben Stavenga
3f719fa6b2
Bugfix: offsetting hasbits with 16 introduced a bug in calculating
...
hasmasks. Removing extra <<16 shift in hasmask calculating and masking
out the first 16 bits. This makes messages without hasbits work as well.
4 years ago
Joshua Haberman
aec762e405
Merge branch 'master' into fast-table
...
Tests are failing.
4 years ago
Joshua Haberman
4f77aaafd8
Merge pull request #2 from gerben-s/fast-table
...
Refactor some code. I extracted some common code from all message field
4 years ago
Gerben Stavenga
4053805759
Bugfixes
4 years ago
Joshua Haberman
d1cd80385b
Merge pull request #313 from haberman/inline-arena
...
Inline arena for the duration of the decode.
4 years ago
Joshua Haberman
ad21083623
Merge pull request #313 from haberman/inline-arena
...
Inline arena for the duration of the decode.
4 years ago
Joshua Haberman
2339fc779c
Updated obsolete comment.
4 years ago
Joshua Haberman
b393849bbd
Updated obsolete comment.
4 years ago
Joshua Haberman
ebe53f8590
Fixed compile error.
4 years ago
Joshua Haberman
b37f82b58b
Fixed compile error.
4 years ago
Joshua Haberman
71749b7caf
Implemented inline array allocation, and moved type->lg2 map to reflection.
4 years ago
Joshua Haberman
9557b97acc
Implemented inline array allocation, and moved type->lg2 map to reflection.
4 years ago
Joshua Haberman
b58d2a0ee6
Shrink overhead of message representation.
4 years ago
Joshua Haberman
0bf063a2ca
Shrink overhead of message representation.
4 years ago
Joshua Haberman
d87ceeacab
Shave off one more store.
4 years ago