gosercomp
:zap: Golang Serializer Benchmark Comparison (by smallnest)
sijsop
A simple JSON-based protocol for Go, easy to implement for other languages (by thejerf)
gosercomp | sijsop | |
---|---|---|
2 | 5 | |
408 | 13 | |
- | - | |
0.0 | 3.7 | |
over 1 year ago | 12 months ago | |
Go | Go | |
Apache License 2.0 | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gosercomp
Posts with mentions or reviews of gosercomp.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-03-06.
-
Optimal dispatcher for json messages ?
Well, instead of using full GRPC, you could use ProtoBuf. Any "binary" protocol will be faster to parse than JSON, if performance is your biggest factor, you can find benchmarks comparing the different formats.
-
Is there an easy way to copy one struct's fields into another?
I like it because it's faster to parse than JSON, takes up less space than JSON, is dynamic, and you can use a generator to generate highly performant readers / writers for it. The library I recommended tinylib/msgp is one of the faster data serialization libraries in general ( https://github.com/smallnest/gosercomp ), and is well written and easy to use.
sijsop
Posts with mentions or reviews of sijsop.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-02-13.
-
What's the preferred way to pass data over a (custom) TCP connection?
There's a ton of options. You can look at https://github.com/thejerf/sijsop , perhaps more just because it's a very simple example of what you're asking for than necessarily because it's the perfect choice for everything, though I do use it in real code.
-
What are the recommended connection pool libraries written in Golang?
Moreover, because Ergo imports Erlang wholesale, it precludes things where you can send messages over the network and keep their types. Here's one simple example from a library of mine but there are numerous other options, gRPC, protocol buffers, etc. (I link this not because it is amazing code, but just because I have it on hand and personally know where it is. Also, note that as a demo program it demonstrates both typed and untyped receive; the "right" side does an untyped receive on purpose.) It is not necessary to lose types in general to go over a network.
-
Optimal dispatcher for json messages ?
The most efficient option is to send the type separately. I wrote and use sijsop for this, if you want something off-the-shelf.
-
Netchan alternative?
You might consider https://github.com/thejerf/sijsop , then. About as fast to get going as a network protocol can be.
-
Best way to allow two processes to interact with each other?
Personally I tend to use my JSON protocol library for slamming down a quick protocol, and probably use a unix socket if I'm on UNIX or a 127.0.0.1-bound network service if not.
What are some alternatives?
When comparing gosercomp and sijsop you can also consider the following projects:
thriftgo - An implementation of thrift compiler in go language.
MessagePack - MessagePack serializer implementation for Java / msgpack.org[Java]
netchan - Natural network channels for Go - netchan can marshal Go channels
examples - examples for demonstrating Ergo Framework features
pool - common golang tcp connection pool