On 2016-03-03 1:35, Slavomir Skopalik wrote: > Hi, > this is about record encoding . > My private test with RLE + LZ4 shows, that from combination RLE, LZ4, > RLE + LZ4 the last is the best.
I'm perfectly ok with doing that for records. > I believe, that better record encoding will help wire transfer in any > case. > > From other side, record encoding can be used in all situation (in > average speed can be around 10-30% of memory move) > but zlib over local network can be limitation. Decompression in memory would be necessary when comparing values, on sorts, etc. So I think in memory, you would probably work with the uncompressed values. As to the wire protocol: Compression over compression is usually inefficient and something I think should be avoided. But my main concern has to do with my experience with wire protocol changes in Firebird: they are usually poorly documented, which creates a large burden on driver implementers having to follow all intricacies of the code (in my case in a language that I'm not fluent in) to understand what changes they need to implement. Especially with code involving encryption or compression, C++ code is not the most readable when you have to reimplement in a different language (or find the right library to do the work for you). That is why I'm stressing that things need to be specced and documented when it involves the wire protocol. Mark ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel