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

Reply via email to