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 > > > > > > > > >
