Joshua Haberman
|
01e7436ed3
|
Merge pull request #390 from haberman/musttail
Converted fasttable decoder to use __attribute__((musttail)) when it is available
|
4 years ago |
Joshua Haberman
|
4132034634
|
Addressed PR comment.
|
4 years ago |
Joshua Haberman
|
ed708fcd5d
|
Addressed PR comments.
|
4 years ago |
Joshua Haberman
|
876abae2db
|
Removed some debug printing and simplified checktag slightly.
|
4 years ago |
Joshua Haberman
|
286441afa7
|
Fixed a size regression due to inlining UTF-8 verification.
Overall size/speed impact on fasttable decoder is now:
name old time/op new time/op delta
ArenaOneAlloc 21.5ns ± 0% 21.5ns ± 0% ~ (p=0.060 n=12+12)
ArenaInitialBlockOneAlloc 6.33ns ± 0% 6.33ns ± 0% ~ (p=0.413 n=11+12)
LoadDescriptor_Upb 43.4µs ± 1% 45.5µs ± 1% +4.79% (p=0.000 n=12+12)
LoadAdsDescriptor_Upb 2.50ms ± 0% 2.51ms ± 2% ~ (p=0.512 n=10+11)
LoadDescriptor_Proto2 240µs ± 0% 240µs ± 0% -0.25% (p=0.000 n=12+12)
LoadAdsDescriptor_Proto2 12.9ms ± 0% 12.9ms ± 0% +0.20% (p=0.014 n=10+12)
Parse_Upb_FileDesc<UseArena,Copy> 4.99µs ± 0% 5.04µs ± 0% +0.98% (p=0.000 n=11+10)
Parse_Upb_FileDesc<UseArena,Alias> 4.02µs ± 0% 4.18µs ± 0% +4.16% (p=0.000 n=10+12)
Parse_Upb_FileDesc<InitBlock,Copy> 4.49µs ± 0% 4.54µs ± 0% +1.16% (p=0.000 n=11+10)
Parse_Upb_FileDesc<InitBlock,Alias> 3.60µs ± 0% 3.80µs ± 0% +5.73% (p=0.000 n=12+11)
Parse_Proto2<FileDesc,NoArena,Copy> 29.3µs ± 0% 29.3µs ± 0% ~ (p=0.069 n=11+12)
Parse_Proto2<FileDesc,UseArena,Copy> 20.2µs ± 3% 20.3µs ± 2% ~ (p=0.880 n=12+11)
Parse_Proto2<FileDesc,InitBlock,Copy> 16.5µs ± 0% 16.5µs ± 0% ~ (p=1.000 n=12+12)
Parse_Proto2<FileDescSV,InitBlock,Alias> 16.4µs ± 0% 16.4µs ± 1% ~ (p=0.590 n=12+12)
SerializeDescriptor_Proto2 5.31µs ± 1% 6.65µs ±29% +25.07% (p=0.000 n=12+12)
SerializeDescriptor_Upb 12.4µs ± 0% 12.5µs ± 0% +1.23% (p=0.000 n=12+12)
FILE SIZE VM SIZE
-------------- --------------
+16% +128 [ = ] 0 [Unmapped]
-1.2% -4 -1.2% -4 [section .text]
[NEW] +2 [NEW] +2 fastdecode_isdonefallback
[DEL] -6 [DEL] -6 fastdecode_longstring_noutf8
-0.2% -124 -0.2% -124 upb/decode_fast.c
+5.8% +64 +6.0% +64 upb_pom_1bt_max64b
+2.7% +64 +2.7% +64 upb_ppv8_2bt
+2.7% +32 +2.8% +32 upb_psm_1bt_max256b
+2.8% +32 +3.0% +32 upb_psm_1bt_max64b
+2.8% +32 +3.0% +32 upb_psm_2bt_max64b
+4.0% +24 +4.2% +24 upb_psv8_1bt
+2.0% +16 +2.1% +16 upb_prf4_2bt
+1.3% +16 +1.4% +16 upb_prz8_2bt
-0.3% -4 -0.3% -4 [3 Others]
-1.6% -8 -1.7% -8 upb_cob_1bt
-1.6% -8 -1.7% -8 upb_csb_1bt
-2.5% -16 -2.6% -16 upb_pov4_1bt
-1.3% -16 -1.3% -16 upb_prv8_2bt
-2.5% -16 -2.7% -16 upb_psv4_1bt
-2.5% -16 -2.6% -16 upb_psv4_2bt
-3.0% -32 -3.1% -32 upb_prs_2bt
-2.6% -32 -2.6% -32 upb_prv4_2bt
-4.9% -48 -5.1% -48 upb_prb_2bt
-3.9% -48 -4.0% -48 upb_prv4_1bt
-7.2% -72 -7.5% -72 upb_prb_1bt
-7.8% -88 -8.0% -88 upb_prs_1bt
[ = ] 0 -0.1% -128 TOTAL
There is a bit of speed regression, but it appears there were bigger
CPU regressions prior to this. We probably need some separate
optimization attention again to get back to the performance numbers
we had when fasttable was first submitted.
|
4 years ago |
Joshua Haberman
|
75df4cdaa3
|
Loosened the check for fasttable to match what we did before.
|
4 years ago |
Joshua Haberman
|
e84793dd73
|
Cleaned up debugging artifacts.
|
4 years ago |
Joshua Haberman
|
a4b35aa388
|
Everything passes except 4 conformance tests.
|
4 years ago |
Joshua Haberman
|
6e10b5789d
|
Removed redundant license from port_def in amalgmation.
|
4 years ago |
Joshua Haberman
|
4f1e48ecc6
|
Updated amalgamator to avoid duplicating license blocks.
|
4 years ago |
Joshua Haberman
|
0723bfa700
|
Merge pull request #387 from haberman/json-null
JSON: Only perform multiple oneof check for non-null fields.
|
4 years ago |
Joshua Haberman
|
dda5416569
|
Update bazel-skylib main branch name.
|
4 years ago |
Joshua Haberman
|
2fa52e6951
|
Merge branch 'master' into json-null
|
4 years ago |
Joshua Haberman
|
a3126b7c7e
|
Merge pull request #388 from haberman/fix-macos
Fix macOS build for XCode 11.3
|
4 years ago |
Joshua Haberman
|
b344a6c582
|
Fixed the macOS build for XCode 11.3.
This works around:
https://github.com/bazelbuild/bazel/issues/12905
|
4 years ago |
Joshua Haberman
|
a778f2639a
|
Only perform multiple oneof check for non-null fields.
This allows payloads like:
{"oneofUint32": null, "oneofString": "test"}
|
4 years ago |
Joshua Haberman
|
42bdfcb849
|
Fix BUILD file.
|
4 years ago |
Joshua Haberman
|
75d6dab37a
|
Merge pull request #384 from haberman/internal
Renamed .int.h to _internal.h, for greater clarity.
|
4 years ago |
Joshua Haberman
|
3881393907
|
Renamed .int.h to _internal.h, for greater clarity.
|
4 years ago |
Matt Fowles Kulukundis
|
5084cbe646
|
Merge pull request #383 from fowles/master
Fix build rules for more restrive deps checks
|
4 years ago |
Matt Kulukundis
|
da4b75b979
|
Fix build rules for more restrive deps checks
- add msg.int.h access for generated files
- actually declare reflective/non as different things
|
4 years ago |
Joshua Haberman
|
a8f9cf54cf
|
Merge pull request #382 from haberman/license-headers
Added license headers to all files
|
4 years ago |
Joshua Haberman
|
1ba446ccfe
|
Updated Google, Inc. to Google LLC.
|
4 years ago |
Joshua Haberman
|
823eb09694
|
Update all 2011 dates to 2021.
|
4 years ago |
Matt Fowles Kulukundis
|
ff89277ef0
|
Merge pull request #380 from fowles/master
Spell out deps explicitly
|
4 years ago |
Joshua Haberman
|
5f74d43cf9
|
Re-add some comment text that was accidentally removed.
|
4 years ago |
Joshua Haberman
|
0f27b0450a
|
Merge branch 'master' into license-headers
|
4 years ago |
Joshua Haberman
|
e59d2c8fa7
|
Added license headers to all files.
|
4 years ago |
Joshua Haberman
|
be4f64b926
|
Merge pull request #381 from haberman/mv-msg-public
Put public message interface into msg.h and moved internal functions to msg.int.h.
|
4 years ago |
Joshua Haberman
|
1674f28dd7
|
Put public message interface into msg.h and moved internal functions to msg.int.h.
|
4 years ago |
Matt Kulukundis
|
6481f6319e
|
Spell out deps explicitly
Google internal bazel is more strict about deps, so both reflection and
non need to be spelled out explicitly.
|
4 years ago |
Matt Fowles Kulukundis
|
f104225a1e
|
Merge pull request #376 from haberman/fix-quadratic-mem
Fixed quadratic memory usage in upb_array_append().
|
4 years ago |
Joshua Haberman
|
3c3799498d
|
Merge pull request #379 from fowles/master
Remove unused file test_util.h
|
4 years ago |
Matt Kulukundis
|
2e83d5c98f
|
Remove unused file test_util.h
|
4 years ago |
Matt Fowles Kulukundis
|
b053fa6991
|
Merge pull request #378 from fowles/master
Allow arena fuse to fail and only fuse when they are safe
|
4 years ago |
Matt Kulukundis
|
7876639e50
|
remove unused macro
|
4 years ago |
Matt Kulukundis
|
5b97df91dd
|
Restrict fuse to matching block_alloc
|
4 years ago |
Matt Kulukundis
|
e74d6c23de
|
Small renames and use uintptr_t instead of void*
|
4 years ago |
Matt Kulukundis
|
d9a0c58108
|
Allow arena fuse to fail
Track initial blocks to avoid having fuse operate on arenas that cannot
be fused.
|
4 years ago |
Joshua Haberman
|
53f5d9f69b
|
Merge pull request #377 from haberman/json-parse-null
Fixed "NULL + 0" UB in JSON encoder and decoder.
|
4 years ago |
Joshua Haberman
|
8370818143
|
Switch to a macro to avoid signed/const mismatches.
|
4 years ago |
Joshua Haberman
|
63ad3db980
|
Fixed "NULL + 0" UB in JSON encoder and decoder.
|
4 years ago |
Joshua Haberman
|
add9b12f18
|
Fixed quadratic memory usage in upb_array_append().
We were erroneously calling realloc() instead of resize(),
forcing the entire array to be reallocated for every array
append.
|
4 years ago |
Joshua Haberman
|
97e2aeb7ee
|
Merge pull request #375 from haberman/cleanups
A few minor cleanups
|
4 years ago |
Joshua Haberman
|
83c0edbd2a
|
A few minor cleanups.
|
4 years ago |
Joshua Haberman
|
baa7fe7473
|
Merge pull request #374 from haberman/update-deps
Updated versions of ABSL and protobuf deps.
|
4 years ago |
Joshua Haberman
|
900bd5c426
|
Merge pull request #355 from haberman/aarch64
The fasttable parser works on ARM64!
|
4 years ago |
Joshua Haberman
|
89df647460
|
Updated versions of ABSL and protobuf deps.
|
4 years ago |
Joshua Haberman
|
e4343f0fa3
|
Update comment for ARM64.
|
4 years ago |
Joshua Haberman
|
103d51f102
|
Merge branch 'master' into aarch64
|
4 years ago |