[Pharo-project] [ANN] Sqnappy - a fast compressor wrapper
Hi all, Recently I've developed Sqnappy - Squeak/Pharo binding of the snappy compressor library. https://github.com/mumez/sqnappy About snappy: https://code.google.com/p/snappy/ Sqnappy is easy to use. You can just send #compress:, #uncompress to SnappyCore: compressed := SnappyCore compress: data. uncompressed := SnappyCore uncompress: compressed. With a simple test, Sqnappy was 10.8x faster than the existing GZipWriteStream/GZipReadStream. Additionally, Sqnappy implements snappy framing format, so that it can treat big data with a small memory allocation. About framing format: https://code.google.com/p/snappy/source/browse/trunk/framing_format.txt Tested from a workspace, 1.3 GB pg_dump file was compressed in around 10 seconds and decompressed in 6.5 seconds . No annoying GCs. It was comfortable. Enjoy! -- [:masashi | ^umezawa]
Very nice! We plan to (at some point) move to a one-image format (no source/changes, no need to explain that this .image file is indeed not a pictureâ¦). With this .pharo image we want to explore to ship the image compressed by default, so people don't need to put .zip files on the build server, for example. Snappy and lz4 are both interesting candidates for this. Marcus On Apr 26, 2013, at 4:51 AM, Masashi UMEZAWA <masashi.umezawa@gmail.com> wrote:
Hi all,
Recently I've developed Sqnappy - Squeak/Pharo binding of the snappy compressor library. https://github.com/mumez/sqnappy
About snappy: https://code.google.com/p/snappy/
Sqnappy is easy to use. You can just send #compress:, #uncompress to SnappyCore: compressed := SnappyCore compress: data. uncompressed := SnappyCore uncompress: compressed.
With a simple test, Sqnappy was 10.8x faster than the existing GZipWriteStream/GZipReadStream.
Additionally, Sqnappy implements snappy framing format, so that it can treat big data with a small memory allocation.
About framing format: https://code.google.com/p/snappy/source/browse/trunk/framing_format.txt
Tested from a workspace, 1.3 GB pg_dump file was compressed in around 10 seconds and decompressed in 6.5 seconds . No annoying GCs. It was comfortable.
Enjoy! -- [:masashi | ^umezawa]
I have put a new entry on http://pharo-project.org with this [ANN]. On Apr 26, 2013, at 4:51 AM, Masashi UMEZAWA <masashi.umezawa@gmail.com> wrote:
Hi all,
Recently I've developed Sqnappy - Squeak/Pharo binding of the snappy compressor library. https://github.com/mumez/sqnappy
About snappy: https://code.google.com/p/snappy/
Sqnappy is easy to use. You can just send #compress:, #uncompress to SnappyCore: compressed := SnappyCore compress: data. uncompressed := SnappyCore uncompress: compressed.
With a simple test, Sqnappy was 10.8x faster than the existing GZipWriteStream/GZipReadStream.
Additionally, Sqnappy implements snappy framing format, so that it can treat big data with a small memory allocation.
About framing format: https://code.google.com/p/snappy/source/browse/trunk/framing_format.txt
Tested from a workspace, 1.3 GB pg_dump file was compressed in around 10 seconds and decompressed in 6.5 seconds . No annoying GCs. It was comfortable.
Enjoy! -- [:masashi | ^umezawa]
nice work! On 2013-04-26, at 04:50, Masashi UMEZAWA <masashi.umezawa@gmail.com> wrote:
Hi all,
Recently I've developed Sqnappy - Squeak/Pharo binding of the snappy compressor library. https://github.com/mumez/sqnappy
About snappy: https://code.google.com/p/snappy/
Sqnappy is easy to use. You can just send #compress:, #uncompress to SnappyCore: compressed := SnappyCore compress: data. uncompressed := SnappyCore uncompress: compressed.
With a simple test, Sqnappy was 10.8x faster than the existing GZipWriteStream/GZipReadStream.
Additionally, Sqnappy implements snappy framing format, so that it can treat big data with a small memory allocation.
About framing format: https://code.google.com/p/snappy/source/browse/trunk/framing_format.txt
Tested from a workspace, 1.3 GB pg_dump file was compressed in around 10 seconds and decompressed in 6.5 seconds . No annoying GCs. It was comfortable.
Enjoy! -- [:masashi | ^umezawa]
On 4/25/13 11:50 PM, "Masashi UMEZAWA" <masashi.umezawa@gmail.com> wrote:
Hi all,
Recently I've developed Sqnappy - Squeak/Pharo binding of the snappy compressor library. https://github.com/mumez/sqnappy
About snappy: https://code.google.com/p/snappy/
Sqnappy is easy to use. You can just send #compress:, #uncompress to SnappyCore: compressed := SnappyCore compress: data. uncompressed := SnappyCore uncompress: compressed.
With a simple test, Sqnappy was 10.8x faster than the existing GZipWriteStream/GZipReadStream.
Additionally, Sqnappy implements snappy framing format, so that it can treat big data with a small memory allocation.
About framing format: https://code.google.com/p/snappy/source/browse/trunk/framing_format.txt
Tested from a workspace, 1.3 GB pg_dump file was compressed in around 10 seconds and decompressed in 6.5 seconds . No annoying GCs. It was comfortable.
Enjoy! -- [:masashi | ^umezawa]
Very useful, very nice. Thanks. Congrats ! Edgar
participants (4)
-
Camillo Bruni -
Edgar J. De Cleene -
Marcus Denker -
Masashi UMEZAWA