5 ms·
* fucking use JSON * if needed: use snappy for blob storage (ie for key value stores) * if you have an need for very high perfomance in your application that
by kalelias 15y ago
* fucking use JSON
* if needed: use snappy for blob storage (ie for key value stores)
* if you have an need for very high perfomance in your application that is mature to some degree, evaluate some binary protocols or compression and see how they perform.
the bad thing is that i already see full stack frameworks popping up "now with <binary-protocol-xy>" and everybody will scream "YEAH!". Most YEAH!-sayers will seriously be butt-hurt by the plain fact that it isn't human readable. Switching between JSON/binary won't matter, there will be situations that are not debugable.
Trivial performance optimizations won't fix a broken design.
- andrewvc 15y agoYour tone in really just not constructive and also not appreciated. As far as JSON being human readable, most JSON sent over the wire has no whitespace and generally needs to be run through a parser if you're going to read any significant amount if it. You even say in your third point that if you need high performance you'd look at a binary protocol, this is one such protocol. Also, you completely ignore the space savings mentioned. Your name is green, you're new to HN, and frankly comments like this drive away the kind of users we want here, so learn to talk to your peers respectfully, or keep your mouth shut.
- kalelias 15y agoWhat i am saying is that as long you try to "improve" your project with marginal "improvements" you will fail at anything. For the majority, things like message pack is micromanagement. It will cause a lot of work and noise with minor improvements. The tradeoff is too high, for the majority. The minority are people who already have shit done. That are people who are actually saving alot of money with squezing the last bits of performance out of something. my viewpoint is probably out of scope because its wholistic, but thats where to start.