Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(244)

Issue 6494085: code review 6494085: proto: make safe for App Engine (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
13 years, 2 months ago by rsc
Modified:
11 years, 10 months ago
Reviewers:
r, dsymonds, rog
CC:
dsymonds, r, golang-dev
Visibility:
Public.

Description

proto: make safe for App Engine Factor unsafe code into its own file that can be replaced with reflect code when building for App Engine. benchmark old MB/s new MB/s speedup BenchmarkMarshal 126.34 120.38 0.95x BenchmarkUnmarshal 111.84 110.78 0.99x BenchmarkMarshalBytes 893.70 853.55 0.96x BenchmarkUnmarshalBytes 615.23 619.73 1.01x Comparing the two new variants, old = unsafe, new = reflect: benchmark old MB/s new MB/s speedup BenchmarkMarshal 120.38 50.52 0.42x BenchmarkUnmarshal 110.78 20.12 0.18x BenchmarkMarshalBytes 853.55 182.21 0.21x BenchmarkUnmarshalBytes 619.73 227.66 0.37x But really these numbers are unfair since they ignore the qualitative difference: proto was completely unavailable on App Engine, and now it can be run there.

Patch Set 1 #

Patch Set 2 : diff -r 6d035089ba19 https://code.google.com/p/goprotobuf #

Patch Set 3 : diff -r 6d035089ba19 https://code.google.com/p/goprotobuf #

Patch Set 4 : diff -r 6d035089ba19 https://code.google.com/p/goprotobuf #

Total comments: 5

Patch Set 5 : diff -r 3449773d11ed https://code.google.com/p/goprotobuf #

Patch Set 6 : diff -r 3449773d11ed https://code.google.com/p/goprotobuf #

Patch Set 7 : diff -r 3449773d11ed https://code.google.com/p/goprotobuf #

Total comments: 7

Patch Set 8 : diff -r 3449773d11ed https://code.google.com/p/goprotobuf #

Patch Set 9 : diff -r 3449773d11ed https://code.google.com/p/goprotobuf #

Patch Set 10 : diff -r 3449773d11ed https://code.google.com/p/goprotobuf #

Patch Set 11 : diff -r 3449773d11ed https://code.google.com/p/goprotobuf #

Unified diffs Side-by-side diffs Delta from patch set Stats (+866 lines, -267 lines) Patch
M proto/all_test.go View 1 2 3 4 5 6 7 8 9 1 chunk +54 lines, -30 lines 0 comments Download
M proto/decode.go View 1 2 3 4 5 6 7 8 9 12 chunks +88 lines, -128 lines 0 comments Download
M proto/encode.go View 1 2 3 4 5 6 7 8 9 19 chunks +79 lines, -79 lines 0 comments Download
M proto/extensions.go View 1 2 3 4 4 chunks +10 lines, -6 lines 0 comments Download
M proto/lib.go View 1 2 3 4 5 6 1 chunk +10 lines, -3 lines 0 comments Download
A proto/pointer_reflect.go View 1 2 3 4 5 6 7 8 9 1 chunk +384 lines, -0 lines 0 comments Download
A proto/pointer_unsafe.go View 1 2 3 4 5 6 7 8 9 10 1 chunk +218 lines, -0 lines 0 comments Download
M proto/properties.go View 1 2 3 4 5 6 8 chunks +22 lines, -19 lines 0 comments Download
M proto/text.go View 1 2 3 1 chunk +1 line, -2 lines 0 comments Download

Messages

Total messages: 22
rsc
Hello dsymonds, r (cc: golang-dev@googlegroups.com), I'd like you to review this change to https://code.google.com/p/goprotobuf
13 years, 2 months ago (2012-09-06 00:42:53 UTC) #1
dsymonds
I haven't digested all of this, but it looks like a good cleanup independent of ...
13 years, 2 months ago (2012-09-06 01:05:20 UTC) #2
rsc
Sorry, I'll write detailed comments in pointer_*.go before you need to read this carefully. I ...
13 years, 2 months ago (2012-09-06 02:19:39 UTC) #3
rsc
> Any idea why Unmarshal takes a bigger performance hit than Marshal? This particular Unmarshal ...
13 years, 2 months ago (2012-09-06 02:22:24 UTC) #4
rsc
PTAL
13 years, 2 months ago (2012-09-06 03:10:37 UTC) #5
dsymonds
LGTM Thanks, this is a lot more digestible. I still haven't absorbed it all, but ...
13 years, 2 months ago (2012-09-06 04:14:42 UTC) #6
rsc
> http://codereview.appspot.com/6494085/diff/6019/proto/pointer_reflect.go#newcode51 > proto/pointer_reflect.go:51: // The reflect value must itself be a > pointer to ...
13 years, 2 months ago (2012-09-06 17:29:05 UTC) #7
r
very cleanly done, and with the performance improvements to reflect it's now practical. nice. try ...
13 years, 2 months ago (2012-09-06 18:03:12 UTC) #8
rsc
Done and uploaded. You or David will have to clpatch + submit.
13 years, 2 months ago (2012-09-08 13:20:54 UTC) #9
dsymonds
I was going to submit this, but running "make nuke install test" yielded: ... make ...
13 years, 2 months ago (2012-09-09 01:32:31 UTC) #10
rsc
On Sat, Sep 8, 2012 at 9:32 PM, <dsymonds@golang.org> wrote: > I was going to ...
13 years, 2 months ago (2012-09-10 20:39:54 UTC) #11
r
> Sadness. I get 'protoc: command not found' or something like that. I > guess ...
13 years, 2 months ago (2012-09-10 20:46:59 UTC) #12
rsc
On Mon, Sep 10, 2012 at 4:46 PM, Rob Pike <r@golang.org> wrote: >> Sadness. I ...
13 years, 2 months ago (2012-09-10 21:04:16 UTC) #13
rsc
PTAL I had to replace the methods with clunkily named functions in order to get ...
13 years, 2 months ago (2012-09-11 23:05:26 UTC) #14
r
LGTM leaving for dsymonds
13 years, 2 months ago (2012-09-11 23:48:19 UTC) #15
dsymonds
LGTM
13 years, 2 months ago (2012-09-12 00:29:28 UTC) #16
dsymonds
*** Submitted as http://code.google.com/p/goprotobuf/source/detail?r=acc2feade443 *** proto: make safe for App Engine Factor unsafe code into ...
13 years, 2 months ago (2012-09-12 00:36:31 UTC) #17
rsc
Sure, I'll give it a shot tomorrow.
13 years, 2 months ago (2012-09-12 00:41:41 UTC) #18
rsc
On Tue, Sep 11, 2012 at 8:41 PM, Russ Cox <rsc@golang.org> wrote: > Sure, I'll ...
13 years, 2 months ago (2012-09-12 00:42:07 UTC) #19
rog
On 12 September 2012 00:05, Russ Cox <rsc@golang.org> wrote: > PTAL > > I had ...
13 years, 2 months ago (2012-09-12 10:57:24 UTC) #20
rsc
> I didn't realise that struct { *something } doesn't registerise as > well as ...
13 years, 1 month ago (2012-09-17 21:13:59 UTC) #21
rsc
13 years, 1 month ago (2012-09-17 21:14:40 UTC) #22
PS issue 4092
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b