Joshua Haberman
4f066765a9
Merge pull request #320 from haberman/string-view-benchmark
...
Added a benchmark for ctype=STRING_PIECE
4 years ago
Joshua Haberman
bf393bf086
Cleaned up benchmark names.
4 years ago
Joshua Haberman
9eb8414b31
Added descriptor_sv.proto.
4 years ago
Joshua Haberman
ee7da95367
Bzl formatting fix per buildifier.
4 years ago
Joshua Haberman
de1b6b0718
Refactored proto2 benchmarks and added StringView benchmark.
4 years ago
Joshua Haberman
c2901eeee1
Added missing #includes (caught by Blaze).
4 years ago
Joshua Haberman
52721eadc7
Order LargeInitialBlock after non-initial-block test.
4 years ago
Joshua Haberman
44a7130845
Used the correct copy of the protos in the benchmark.
4 years ago
Joshua Haberman
3a242e7a48
Merge branch 'master' into fast-table
4 years ago
Joshua Haberman
d01b712dbb
Merge branch 'master' into fastest-table
4 years ago
Joshua Haberman
d225dfc2ed
Buildifier formatting fixes.
4 years ago
Joshua Haberman
b0994a6501
Added missing dep from benchmark.
4 years ago
Joshua Haberman
de80054018
Make required fields optional for benchmarking.
4 years ago
Joshua Haberman
745661bf1f
Merge branch 'master' into fastest-table
4 years ago
Joshua Haberman
11585095b7
Merge pull request #319 from haberman/copy-descriptor
...
Snapshot descriptor.proto into our own copy for benchmarking purposes.
4 years ago
Joshua Haberman
fd5a35d49d
Minor comment changes.
4 years ago
Joshua Haberman
bdd1a516e8
Fixed other tests.
4 years ago
Joshua Haberman
27262adf93
Snapshot descriptor.proto into our own copy for benchmarking purposes.
...
This will ensure that the schema and payload are constant across
time and space.
4 years ago
Joshua Haberman
d6b40fd5e2
Added missing dependency on reflection.
4 years ago
Joshua Haberman
b9f1b67d07
Use quoted include.
4 years ago
Joshua Haberman
1c8c16b9b1
Use quoted include.
4 years ago
Joshua Haberman
4f901b6430
Passes all tests.
4 years ago
Joshua Haberman
de84e20788
Merge branch 'master' into optdefload
4 years ago
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
6f59f1256e
Optimizations to 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