got it, thanks, I will take it into account


Best Regards
---------------
DolphinScheduler(Incubator) PPMC
Lidong Dai 代立冬
[email protected]
---------------


On Tue, Jan 5, 2021 at 10:51 PM Sheng Wu <[email protected]> wrote:

> As a developer's perspective(not mentor).
> When you work into the global level integration at the cloud native field,
> you will notice how grpc(protobuf) widely used :)
> If your plans are around this, I would like to suggest you considering more
> than just performance. Some of you should know what I think about the
> performance :P
>
> Sheng Wu 吴晟
> Twitter, wusheng1108
>
>
> lidong dai <[email protected]> 于2021年1月5日周二 下午10:39写道:
>
> > hi,
> >    It seems like Kryo is more popular besides ProtoBuf, so I suggest Kryo
> >
> >
> >
> > Best Regards
> > ---------------
> > DolphinScheduler(Incubator) PPMC
> > Lidong Dai
> > [email protected]
> > ---------------
> >
> >
> > On Mon, Jan 4, 2021 at 2:39 PM CalvinKirs <[email protected]> wrote:
> >
> > > hi, everyone.
> > >
> > >
> > > Before I mentioned the communication serialization scheme, I conducted
> > JMH
> > > Test on protobuf, kryo and protostuff.
> > > This is the result
> > > @WarmUp(iterations = 10, time = 2)
> > > @measurement(iterations = 10, time = 2)
> > > @BenchmarkMode(Mode.Throughput)
> > > @OutputTimeUnit(TimeUnit.SECONDS)
> > > @State(Scope.Benchmark)
> > >
> > >
> > > Benchmark Mode Cnt Score Error  Units
> > > SerializerBenchMark.Kryo thrpt          20 171204.238 ± 27941.211 ops/s
> > > SerializerBenchMark.ProtoBuf thrpt   20 180551.996 ± 6657.504 ops/s
> > > SerializerBenchMark.ProtoStuff thrpt  20 221247.510 ± 3620.933 ops/s
> > >
> > >
> > > 大家可以下载我分支的代码来进行测试:
> > >
> > >
> >
> https://github.com/CalvinKirs/incubator-dolphinscheduler/tree/jmh_ser/dolphinscheduler-microbench
> > >
> > >
> > > Note: Kryo (I turned on the function of class registration)
> > >
> > >
> > > When the data volume is too small, the efficiency of ProtoStuff is 3-5
> > > times that of Kryo. When the data volume is too large, ProtoStuff still
> > > performs well enough.
> > >
> > >
> > > I prefer ProtoStuff, the serialization scheme is basically becoming
> > > mature, so the community release will be slower. (ProtoStuff released
> > three
> > > versions in 2020, so I think there is no problem with community
> > activity.)
> > > At the same time, it is extremely efficient, easy to use, and performs
> > very
> > > well in serialization speed and serialized volume.
> > >
> > >
> > > ProtoBuf is very good in cross-language, but we may not need
> > > cross-language support later. At the same time, because of the need to
> > > write proto files, I think this has a certain learning cost for new
> > > developers. Therefore it is not recommended.
> > >
> > >
> > > What do you think? I want to hear suggestions from the community.
> > >
> > >
> > > Best  wishes!
> > > CalvinKirs
> > >
> > >
> >
>

Reply via email to