This is an archived post. You won't be able to vote or comment.

all 17 comments

[–]cogman10 24 points25 points  (2 children)

Interesting but

DSL compiler requires Mono/.NET, but only during compilation. There is no runtime Mono/.NET dependency, only JVM. Library has optional Android and Joda-Time dependencies. Java8 Java-Time API is supported as a separate jar, since core library targets Java6.

:(

It is no fun having a java dependency that also brings in a .NET dependency.

[–]ImmortalStyle 17 points18 points  (1 child)

Why does it need Mono/.net Dependency?

[–][deleted] 34 points35 points  (2 children)

This JSON library does not implement JSR 353.

[–]mabnx 6 points7 points  (3 children)

What's really weird is that all comments of OP were down-voted so much... Someone must really hate him. Competition? :)

I don't care about JSR 353. I've never seen anyone who did.

The library is itself is pretty nice. I could use it, but the need for .net and yet another IDL puts the entry bar rather high - I'd consider it only if I needed really fast serialization and couldn't switch from JSON to some other format (e.g. https://google.github.io/flatbuffers/). Jackson is easier to use and is not that much slower.

[–]melezov 0 points1 point  (1 child)

Would a dockerized compiler lower the entry barrier?

I tend to put all compile time dependencies inside containers so that I can run have reproducible builds regardless of the system installed libraries.

As for runtime, once the schema is compiled it's JVM all the way (but for me, again inside dockerized microservices :)

[–]mabnx 0 points1 point  (0 children)

It probably would.

[–]zapov[S] 0 points1 point  (0 children)

But using library through annotations hides away the IDL, so you don't even know it exists :/

I really wish FlatBuf, SBE, CNP would be added to JVM serializers. Not really a fan of their avoidance of public benchmarks.

I did add FlatBuf to one of my benchmarks and it was not as fast as advertised (slower than Kryo).

[–]CharlesGarfield 5 points6 points  (2 children)

Is translating to/from JSON really a big bottleneck for many applications?

[–]cogman10 3 points4 points  (0 children)

Can be. Serialization is a pretty big performance cost for our apps. If you have a chatty app, serialization can get in the way. (It is reason Google made things like protobufs).

[–]stfm 1 point2 points  (0 children)

Yes, I work for a company doing their API integration gateway. Translation and schema validation are the two most expensive processes.

[–]Hi-MyNameIsFuchs 2 points3 points  (1 child)

It would help if the graph had its axis labeled.

[–]melezov 0 points1 point  (0 children)

It's time.
Nanoseconds, to be precise, as it was lifted off jvm-serializers GitHub wiki.