Re: Patch to support LZ4 compression algorithm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

----- Original Message -----
> Hello
> 
> My name is Javier Celaya and I work for Flexible Solutions [1]. We develop a
> virtualization product that includes a VDI module with Spice. As part of this
> module, we have included support for the LZ4 compression algorithm [2], and
> we
> would like to contribute it to the main project.

Great!

> 
> The LZ4 algorithm focuses on speed sacrificing compression ratio. In our
> tests,
> we obtained a compression ratio of x1.75~x2, while QUIC obtained ~x4.
> However,
> LZ4 was around 4~5 times faster than QUIC or GLZ. The objective was to
> implement a Spice client for devices with limited CPU performance, like
> smartphones or ARM set-top-boxes.

Sounds reasonable

> 
> We have tried to keep things simple. Our approach consists in replacing the
> LZ
> algorithm with LZ4 when Spice is built with the --enable-lz4 switch. Adding
> it
> as a new option would also require changes in the software that uses the
> server, like QEMU. Then, each image is compressed independently. Since the
> LZ4
> dictionary size is quite small (64KB), there is no improvement in compressing
> all the images as a stream.
> 
> I send you three patches, for spice-common, spice and spice-gtk. The
> compression code is in spice, the decompression is in spice-common, and
> spice-gtk only contains the macros needed to find liblz4 during configure.

The patches look nice. However, I am not sure I understand why you chose not
to modify the protocol to declare the new image type. We also need a new
display capability before applying this patch, as the server needs to remain
compatible with older clients no matter before accepting this.

Would you be willing to do those changes to get your patch accepted?

thanks
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]