[kudu-CR] jsonwriter: small optimization for PB fields
Todd Lipcon has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/9184 ) Change subject: jsonwriter: small optimization for PB fields .. jsonwriter: small optimization for PB fields This avoids extra non-inlinable calls into the protobuf library: - extra calls to GetReflection() - calls to FieldSize() while looping through repeated fields This has a small benefit on all PBs and a big benefit on those PBs with a lot of repeated fields. The latter should be a nice boost particularly when serializing metrics. Before: TestJsonWriter.BenchmarkAllTypes Throughput: 157.609MB/sec TestJsonWriter.BenchmarkNestedMessage Throughput: 124.048MB/sec TestJsonWriter.BenchmarkRepeatedInt64 Throughput: 113.77MB/sec After: TestJsonWriter.BenchmarkAllTypes Throughput: 163.327MB/sec (+3.6%) TestJsonWriter.BenchmarkNestedMessage Throughput: 127.633MB/sec (+2.9%) TestJsonWriter.BenchmarkRepeatedInt64 Throughput: 158.229MB/sec (+39.1%) Change-Id: Iceee0096a3af9300fca3dd18508a12e140e99b31 Reviewed-on: http://gerrit.cloudera.org:8080/9184 Reviewed-by: Sailesh MukilTested-by: Kudu Jenkins Reviewed-by: Todd Lipcon --- M src/kudu/util/jsonwriter-test.cc M src/kudu/util/jsonwriter.cc M src/kudu/util/jsonwriter.h 3 files changed, 36 insertions(+), 11 deletions(-) Approvals: Sailesh Mukil: Looks good to me, but someone else must approve Kudu Jenkins: Verified Todd Lipcon: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/9184 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Iceee0096a3af9300fca3dd18508a12e140e99b31 Gerrit-Change-Number: 9184 Gerrit-PatchSet: 3 Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Sailesh Mukil Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Will Berkeley
[kudu-CR] jsonwriter: small optimization for PB fields
Todd Lipcon has posted comments on this change. ( http://gerrit.cloudera.org:8080/9184 ) Change subject: jsonwriter: small optimization for PB fields .. Patch Set 2: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/9184 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iceee0096a3af9300fca3dd18508a12e140e99b31 Gerrit-Change-Number: 9184 Gerrit-PatchSet: 2 Gerrit-Owner: Todd LipconGerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Sailesh Mukil Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Will Berkeley Gerrit-Comment-Date: Sat, 03 Feb 2018 01:53:01 + Gerrit-HasComments: No
[kudu-CR] jsonwriter: small optimization for PB fields
Sailesh Mukil has posted comments on this change. ( http://gerrit.cloudera.org:8080/9184 ) Change subject: jsonwriter: small optimization for PB fields .. Patch Set 2: Code-Review+1 -- To view, visit http://gerrit.cloudera.org:8080/9184 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iceee0096a3af9300fca3dd18508a12e140e99b31 Gerrit-Change-Number: 9184 Gerrit-PatchSet: 2 Gerrit-Owner: Todd LipconGerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Sailesh Mukil Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Will Berkeley Gerrit-Comment-Date: Sat, 03 Feb 2018 01:23:39 + Gerrit-HasComments: No
[kudu-CR] jsonwriter: small optimization for PB fields
Hello Will Berkeley, Kudu Jenkins, Sailesh Mukil, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/9184 to look at the new patch set (#2). Change subject: jsonwriter: small optimization for PB fields .. jsonwriter: small optimization for PB fields This avoids extra non-inlinable calls into the protobuf library: - extra calls to GetReflection() - calls to FieldSize() while looping through repeated fields This has a small benefit on all PBs and a big benefit on those PBs with a lot of repeated fields. The latter should be a nice boost particularly when serializing metrics. Before: TestJsonWriter.BenchmarkAllTypes Throughput: 157.609MB/sec TestJsonWriter.BenchmarkNestedMessage Throughput: 124.048MB/sec TestJsonWriter.BenchmarkRepeatedInt64 Throughput: 113.77MB/sec After: TestJsonWriter.BenchmarkAllTypes Throughput: 163.327MB/sec (+3.6%) TestJsonWriter.BenchmarkNestedMessage Throughput: 127.633MB/sec (+2.9%) TestJsonWriter.BenchmarkRepeatedInt64 Throughput: 158.229MB/sec (+39.1%) Change-Id: Iceee0096a3af9300fca3dd18508a12e140e99b31 --- M src/kudu/util/jsonwriter-test.cc M src/kudu/util/jsonwriter.cc M src/kudu/util/jsonwriter.h 3 files changed, 36 insertions(+), 11 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/84/9184/2 -- To view, visit http://gerrit.cloudera.org:8080/9184 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Iceee0096a3af9300fca3dd18508a12e140e99b31 Gerrit-Change-Number: 9184 Gerrit-PatchSet: 2 Gerrit-Owner: Todd LipconGerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Sailesh Mukil Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Will Berkeley