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