fhanau / Efficient-Compression-Tool

Fast and effective C++ file optimizer
Apache License 2.0
596 stars 41 forks source link

Update included libraries #93

Closed woot000 closed 2 years ago

woot000 commented 2 years ago

A bunch of internally included libraries in this optimizer have been updateed with improved decoding/encoding speed (lodepng and mozjpeg specifically come to mind). I think it would be a good idea if they were updated to increase the overall speed of the optimizer

Maybe you could convert some of these libraries into submodules? It seems though not much progress has been made on converting mozjpeg into a submodule (#27), so I'm not certain that's something your interested in having done

fhanau commented 2 years ago

I took a look at the lodepng changes and it looks life the performance improvements pertain to the deflate encoding and decoding support. ECT uses a heavily modified lodepng and does not use lodepng's deflate. The mozjpeg changes look like they might be beneficial, I will consider updating it.

fhanau commented 2 years ago

mozjpeg has been converted to a submodule in 817de1c and now includes the latest commit. This does not appear to have improved performance as ECT only uses some of mozjpeg/libjpeg-turbo's features, but it looks like compression is a tiny bit better on some files. Future updates to mozjpeg will be easier to integrate now that it is a submodule.