22.02.2015 20:19, Slavomir Skopalik wrote:
>
> I was made litle improovement in record level compresion.
>
> Motivation:
>   - significant dabase grow increase after switch to UTF8
>
> Analysis:
> - I was found inefficient algoritmus for compressing zeroes
> - I was found, that some control char values are not used
>
> Solution:
> - I add to code ability to pack up 32k of zeroes into 2 bytes
> without lossing current features.
> - New version can read old database, but when write, old version cannot
> read.
>
> Result:
> DB size: DB with WIN2050 character set was packed from 733MB down to 633MB
> Restore speed was increase from 3:06 down to 2:55 minutes.
> Select operation was litle bit faster (depends on datafield)
>
> I was made changes in actual trunk for version 2.5.4.
>
> Please, review this code and let me know, I is it interesting for
> Firebird community.

I didn't look at the code closely, but the idea is more or less the same 
as I was considering for CORE-4401. I just wanted to use the control 
char of zero for that purpose, as it's practically useless for either 
compressible or non-compressible runs.

The new encoding affects the ODS, so it cannot be used in the v2.5 
series (it may be possible with ODS 11.3 but I don't think we need a 
minor ODS change in v2.5). But it surely could be applied to v3 after 
review and we don't have to worry about backward compatibility in ODS 12.


Dmitry


------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to