[RFC] gdk-pixbuf-loader: initial attempt to port to rust
This is an RFC PR, there are some details that need to be ironed out but the heavy lifting is done.
Couple of things I would like to resolve that I detail below.
Any comments are welcome.
Size/Dynamic linking
The size difference vs. the C version is almost two orders of mangnitude higher. This is due to librsvg being statically linked inside the loader.
16K /usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so
9.7M target/release/libpixbufloader_svg.so
It would be worth exploring if the C library and the pixbuf loader could share a private Rust shared library with the Rust API.
Testing
There is some unit testing already added, reviews welcome there.
I would like to also add an integration test to ensure that the .so module works using a custom loaders.cache
Memory usage
EDIT: I removed the leak report from valgrind as this was something caused by locale_config, not the pixbuf loader.
Edited by Alberto Ruiz