Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added zpp serialization library. #24

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

eyalz800
Copy link

@eyalz800 eyalz800 commented Apr 21, 2018

Results (excluding thrift which doesn't compile on my distribution):

$ ./benchmark 300000
performing 300000 iterations

protobuf: version = 3001000
protobuf: size = 16116 bytes
protobuf: time = 5878 milliseconds

capnproto: version = 6001
capnproto: size = 17768 bytes
capnproto: time = 1182 milliseconds

boost: version = 106200
boost: size = 17470 bytes
boost: time = 2915 milliseconds

msgpack: version = 2.1.3
msgpack: size = 13402 bytes
msgpack: time = 9494 milliseconds

cereal: size = 17416 bytes
cereal: time = 2321 milliseconds

avro: size = 16384 bytes
avro: time = 11097 milliseconds

flatbuffers: size = 17632 bytes
flatbuffers: time = 1000 milliseconds

yas: version = 6.0.2
yas: size = 17416 bytes
yas: time = 780 milliseconds

yas-compact: version = 6.0.2
yas-compact: size = 13321 bytes
yas-compact: time = 5971 milliseconds

zpp: version = v0.1
zpp: size = 17008 bytes
zpp: time = 598 milliseconds
$ ./benchmark 1000000
performing 1000000 iterations

protobuf: version = 3001000
protobuf: size = 16116 bytes
protobuf: time = 19182 milliseconds

capnproto: version = 6001
capnproto: size = 17768 bytes
capnproto: time = 3735 milliseconds

boost: version = 106200
boost: size = 17470 bytes
boost: time = 9969 milliseconds

msgpack: version = 2.1.3
msgpack: size = 13402 bytes
msgpack: time = 32170 milliseconds

cereal: size = 17416 bytes
cereal: time = 7550 milliseconds

avro: size = 16384 bytes
avro: time = 35806 milliseconds

flatbuffers: size = 17632 bytes
flatbuffers: time = 3257 milliseconds

yas: version = 6.0.2
yas: size = 17416 bytes
yas: time = 2575 milliseconds

yas-compact: version = 6.0.2
yas-compact: size = 13321 bytes
yas-compact: time = 19590 milliseconds

zpp: version = v0.1
zpp: size = 17008 bytes
zpp: time = 1949 milliseconds

Remark: seems that yas is wrongly tested, because it has no opportunity to reserve memory as all other tests do, I made also a test that does not reserve memory and got the following results, for a fair comparison with yas:

$ ./benchmark 300000
performing 300000 iterations

zpp: version = v0.1
zpp: size = 17008 bytes
zpp: time = 712 milliseconds
$ ./benchmark 1000000
performing 1000000 iterations

zpp: version = v0.1
zpp: size = 17008 bytes
zpp: time = 2344 milliseconds

@eyalz800 eyalz800 force-pushed the master branch 6 times, most recently from c837eae to e9b64d4 Compare April 21, 2018 16:08
@eyalz800 eyalz800 force-pushed the master branch 2 times, most recently from ca98b60 to d3bc4e1 Compare April 28, 2018 19:46
@eyalz800
Copy link
Author

@thekvs is there any chance we can pull this in?

@thekvs
Copy link
Owner

thekvs commented Aug 21, 2019

Hi @eyalz800!

Sorry, I don't have resources to include and maintain every possible C++ serializer in the world, there are dozens of them (maybe even more). I try to keep in benchmark only a major and widespread one. I suggest you to maintain your own fork. Also I can reference your serializer in the README.

@eyalz800
Copy link
Author

@thekvs that's fair. I was just trying to show up in your benchmark main page, I thought that the project is fairly inactive for long periods of time and I didn't know that adding my library will use much resources. Thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants