lightproto

Protobuf compatible code generator

Лицензия

Лицензия

Группа

Группа

com.github.splunk.lightproto
Идентификатор

Идентификатор

lightproto
Последняя версия

Последняя версия

0.4
Дата

Дата

Тип

Тип

pom
Описание

Описание

lightproto
Protobuf compatible code generator
Ссылка на сайт

Ссылка на сайт

https://github.com/splunk/lightproto
Организация-разработчик

Организация-разработчик

Splunk
Система контроля версий

Система контроля версий

https://github.com/splunk/lightproto

Скачать lightproto

Имя Файла Размер
lightproto-0.4.pom 12 KB
Обзор

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.github.splunk.lightproto/lightproto/ -->
<dependency>
    <groupId>com.github.splunk.lightproto</groupId>
    <artifactId>lightproto</artifactId>
    <version>0.4</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/com.github.splunk.lightproto/lightproto/
implementation 'com.github.splunk.lightproto:lightproto:0.4'
// https://jarcasting.com/artifacts/com.github.splunk.lightproto/lightproto/
implementation ("com.github.splunk.lightproto:lightproto:0.4")
'com.github.splunk.lightproto:lightproto:pom:0.4'
<dependency org="com.github.splunk.lightproto" name="lightproto" rev="0.4">
  <artifact name="lightproto" type="pom" />
</dependency>
@Grapes(
@Grab(group='com.github.splunk.lightproto', module='lightproto', version='0.4')
)
libraryDependencies += "com.github.splunk.lightproto" % "lightproto" % "0.4"
[com.github.splunk.lightproto/lightproto "0.4"]

Зависимости

Библиотека не имеет зависимостей. Это самодостаточное приложение, которое не зависит ни от каких других библиотек.

Модули Проекта

  • code-generator
  • benchmark
  • maven-plugin
  • tests

Light Proto serialization

Features

  1. Generate the fastest possible Java code for Protobuf SerDe
  2. 100% Compatible with proto2 definition and wire protocol
  3. Zero-copy deserialization using Netty ByteBuf
  4. Deserialize from direct memory
  5. Zero heap allocations in serialization / deserialization
  6. Lazy deserialization of strings and bytes
  7. Reusable mutable objects
  8. No runtime dependency library
  9. Java based code generator with Maven plugin

Benchmark

java -jar benchmark/target/benchmarks.jar

Benchmark                                         Mode  Cnt   Score    Error   Units
ProtoBenchmark.lightProtoDeserialize             thrpt    3   8.445 ±  1.734  ops/us
ProtoBenchmark.lightProtoSerialize               thrpt    3   4.056 ±  1.628  ops/us
ProtoBenchmark.protobufDeserialize               thrpt    3   2.465 ±  0.682  ops/us
ProtoBenchmark.protobufSerialize                 thrpt    3   2.242 ±  0.186  ops/us
SimpleBenchmark.lightProtoDeserialize            thrpt    3  37.414 ±  4.980  ops/us
SimpleBenchmark.lightProtoDeserializeReadString  thrpt    3  17.367 ±  1.790  ops/us
SimpleBenchmark.lightProtoSerialize              thrpt    3  35.473 ±  6.325  ops/us
SimpleBenchmark.protobufDeserialize              thrpt    3   8.255 ±  1.104  ops/us
SimpleBenchmark.protobufSerialize                thrpt    3  18.960 ±  4.626  ops/us
StringEncodingBenchmark.jdkEncoding              thrpt   10  14.031 ±  0.394  ops/us
StringEncodingBenchmark.jdkEncodingAscii         thrpt   10  19.279 ±  0.448  ops/us
StringEncodingBenchmark.nettyEncoding            thrpt   10  27.273 ±  0.988  ops/us
StringEncodingBenchmark.nettyEncodingAscii       thrpt   10  36.140 ±  0.693  ops/us
com.github.splunk.lightproto

Splunk GitHub

Версии библиотеки

Версия
0.4
0.3
0.2