You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by GitBox <gi...@apache.org> on 2019/12/03 12:58:21 UTC

[GitHub] [flink] shuttie commented on issue #10358: [FLINK-14346] [serialization] faster implementation of StringValue writeString and readString

shuttie commented on issue #10358: [FLINK-14346] [serialization] faster implementation of StringValue writeString and readString
URL: https://github.com/apache/flink/pull/10358#issuecomment-561155762
 
 
   Yet another set of benchmarks, out of flink-benchmarks PR (https://github.com/dataArtisans/flink-benchmarks/pull/36).
   
   The only thing I notice here is a slight performance degradation on small strings (<=4 symbols), which I'll address in the next patch.
   
   ```
   master:
   
   Benchmark                                                        Mode  Cnt    Score    Error   Units
   SerializationFrameworkMiniBenchmarks.serializerAvro             thrpt   30  388.350 ±  5.574  ops/ms
   SerializationFrameworkMiniBenchmarks.serializerKryo             thrpt   30  211.344 ±  8.336  ops/ms
   SerializationFrameworkMiniBenchmarks.serializerPojo             thrpt   30  470.016 ± 13.141  ops/ms
   SerializationFrameworkMiniBenchmarks.serializerRow              thrpt   30  557.009 ±  9.751  ops/ms
   SerializationFrameworkMiniBenchmarks.serializerStringHeavyPojo  thrpt   30   88.379 ±  1.292  ops/ms
   SerializationFrameworkMiniBenchmarks.serializerTuple            thrpt   30  592.778 ±  8.488  ops/ms
   
   Benchmark                                 (lengthStr)   (type)   Mode  Cnt      Score      Error   Units
   PojoSerializationBenchmark.readAvro               N/A      N/A  thrpt   30    598.640 ±   25.763  ops/ms
   PojoSerializationBenchmark.readKryo               N/A      N/A  thrpt   30    193.355 ±    6.963  ops/ms
   PojoSerializationBenchmark.readPojo               N/A      N/A  thrpt   30    620.239 ±    3.194  ops/ms
   PojoSerializationBenchmark.writeAvro              N/A      N/A  thrpt   30    654.290 ±    3.870  ops/ms
   PojoSerializationBenchmark.writeKryo              N/A      N/A  thrpt   30    608.389 ±   12.006  ops/ms
   PojoSerializationBenchmark.writePojo              N/A      N/A  thrpt   30    828.253 ±    6.037  ops/ms
   StringSerializationBenchmark.stringRead             4    ascii  thrpt   30  11445.245 ±   35.093  ops/ms
   StringSerializationBenchmark.stringRead             4  russian  thrpt   30   7115.556 ±   25.999  ops/ms
   StringSerializationBenchmark.stringRead             4  chinese  thrpt   30   5149.447 ±   30.320  ops/ms
   StringSerializationBenchmark.stringRead            32    ascii  thrpt   30   2154.990 ±    6.773  ops/ms
   StringSerializationBenchmark.stringRead            32  russian  thrpt   30   1126.236 ±    0.974  ops/ms
   StringSerializationBenchmark.stringRead            32  chinese  thrpt   30    772.899 ±    3.538  ops/ms
   StringSerializationBenchmark.stringRead           256    ascii  thrpt   30    285.788 ±    0.907  ops/ms
   StringSerializationBenchmark.stringRead           256  russian  thrpt   30    144.113 ±    0.793  ops/ms
   StringSerializationBenchmark.stringRead           256  chinese  thrpt   30     98.919 ±    0.718  ops/ms
   StringSerializationBenchmark.stringWrite            4    ascii  thrpt   30  19755.480 ±  113.023  ops/ms
   StringSerializationBenchmark.stringWrite            4  russian  thrpt   30  11731.759 ± 1329.529  ops/ms
   StringSerializationBenchmark.stringWrite            4  chinese  thrpt   30  11457.075 ±   64.132  ops/ms
   StringSerializationBenchmark.stringWrite           32    ascii  thrpt   30   3349.573 ±   15.093  ops/ms
   StringSerializationBenchmark.stringWrite           32  russian  thrpt   30   1464.489 ±   10.258  ops/ms
   StringSerializationBenchmark.stringWrite           32  chinese  thrpt   30   1094.098 ±    4.450  ops/ms
   StringSerializationBenchmark.stringWrite          256    ascii  thrpt   30    464.168 ±    4.761  ops/ms
   StringSerializationBenchmark.stringWrite          256  russian  thrpt   30    269.960 ±   53.424  ops/ms
   StringSerializationBenchmark.stringWrite          256  chinese  thrpt   30    189.702 ±   36.327  ops/ms
   
   this PR:
   
   Benchmark                                                        Mode  Cnt    Score    Error   Units
   SerializationFrameworkMiniBenchmarks.serializerAvro             thrpt   30  389.392 ±  6.379  ops/ms
   SerializationFrameworkMiniBenchmarks.serializerKryo             thrpt   30  217.490 ±  8.975  ops/ms
   SerializationFrameworkMiniBenchmarks.serializerPojo             thrpt   30  448.449 ± 11.446  ops/ms
   SerializationFrameworkMiniBenchmarks.serializerRow              thrpt   30  521.921 ± 11.082  ops/ms
   SerializationFrameworkMiniBenchmarks.serializerStringHeavyPojo  thrpt   30  108.779 ±  2.980  ops/ms
   SerializationFrameworkMiniBenchmarks.serializerTuple            thrpt   30  548.718 ± 11.773  ops/ms
   
   Benchmark                                 (lengthStr)   (type)   Mode  Cnt      Score     Error   Units
   PojoSerializationBenchmark.readAvro               N/A      N/A  thrpt   30    593.101 ±  30.778  ops/ms
   PojoSerializationBenchmark.readKryo               N/A      N/A  thrpt   30    184.984 ±   2.437  ops/ms
   PojoSerializationBenchmark.readPojo               N/A      N/A  thrpt   30    657.618 ±   8.342  ops/ms
   PojoSerializationBenchmark.writeAvro              N/A      N/A  thrpt   30    632.636 ±   4.231  ops/ms
   PojoSerializationBenchmark.writeKryo              N/A      N/A  thrpt   30    609.889 ±   4.084  ops/ms
   PojoSerializationBenchmark.writePojo              N/A      N/A  thrpt   30    769.924 ±   8.650  ops/ms
   StringSerializationBenchmark.stringRead             4    ascii  thrpt   30  17623.353 ±  48.387  ops/ms
   StringSerializationBenchmark.stringRead             4  russian  thrpt   30  10226.762 ±  94.515  ops/ms
   StringSerializationBenchmark.stringRead             4  chinese  thrpt   30   7979.150 ±  61.660  ops/ms
   StringSerializationBenchmark.stringRead            32    ascii  thrpt   30  13919.065 ±  51.691  ops/ms
   StringSerializationBenchmark.stringRead            32  russian  thrpt   30   4537.817 ±  30.646  ops/ms
   StringSerializationBenchmark.stringRead            32  chinese  thrpt   30   3263.699 ±  22.664  ops/ms
   StringSerializationBenchmark.stringRead           256    ascii  thrpt   30   3183.622 ±  26.376  ops/ms
   StringSerializationBenchmark.stringRead           256  russian  thrpt   30   1011.096 ±  12.115  ops/ms
   StringSerializationBenchmark.stringRead           256  chinese  thrpt   30    689.678 ±   4.445  ops/ms
   StringSerializationBenchmark.stringWrite            4    ascii  thrpt   30  17796.026 ± 143.503  ops/ms
   StringSerializationBenchmark.stringWrite            4  russian  thrpt   30  16582.541 ± 372.612  ops/ms
   StringSerializationBenchmark.stringWrite            4  chinese  thrpt   30  15225.444 ± 119.326  ops/ms
   StringSerializationBenchmark.stringWrite           32    ascii  thrpt   30   9781.345 ± 826.800  ops/ms
   StringSerializationBenchmark.stringWrite           32  russian  thrpt   30   8423.629 ±  58.593  ops/ms
   StringSerializationBenchmark.stringWrite           32  chinese  thrpt   30   6111.879 ±  37.015  ops/ms
   StringSerializationBenchmark.stringWrite          256    ascii  thrpt   30   3620.902 ±  16.969  ops/ms
   StringSerializationBenchmark.stringWrite          256  russian  thrpt   30   1801.506 ±  14.516  ops/ms
   StringSerializationBenchmark.stringWrite          256  chinese  thrpt   30   1019.450 ±   8.503  ops/ms
   
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services