Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace zlib with a faster implementation and remove sources from repo #321

Open
13 tasks
flsobral opened this issue Mar 19, 2021 · 1 comment
Open
13 tasks
Assignees
Labels
All platforms Issue related to the all platforms enhancement Feature improvements good first issue Good for newcomers help wanted Extra attention is needed Performance

Comments

@flsobral
Copy link
Member

flsobral commented Mar 19, 2021

HELP WANTED

Help us by suggesting other libraries to consider or making the build and the benchmark.

Currently we use the version 1.2.8 (possibly customized for usage with the tcvm - have yet to check)
The objective is to replace the current implementation with another one with improved performance and COMPATIBLE API.

This library is responsible for the deflate, zlib and gzip algorithms, and using a faster implementations leads to better performance for HTTP connections, faster loading of PNG files in general, and faster loading of resources included in tcz files.

Our main options are:

zlib-ng or any other library with incompatible API is NOT an option, the main objective is to improve performance of features that already rely on zlib API. The usage of alternative compression algorithms will be discussed later in another issue.

Relevant stuff:

Tasks:

  • Build all the previous listed options for benchmarking, preferably for arm32v7 (please, include a link for a repo with complete build)
  • Benchmark (use one of the many available benchmarks out there for zlib or make your own), preferably using stuff from Silesia compression corpus, like this tar used to benchmark Lizard
  • Create patches for custom tcvm code if necessary (hopefully not)
  • Build it automatically as a static library using CMake with SIMD enabled
  • Remove zlib sources from our repo
  • Test new build on every target
    • Linux x64
    • Linux arm32v7
    • Linux arm64
    • Android
    • iOS
    • Win32
    • WinCE
    • MacOS (only used for debugging, but that's important for development)
@flsobral flsobral added enhancement Feature improvements good first issue Good for newcomers help wanted Extra attention is needed All platforms Issue related to the all platforms Performance labels Mar 19, 2021
@flsobral flsobral self-assigned this Mar 19, 2021
@flsobral flsobral pinned this issue Mar 19, 2021
@SamuelMarks
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
All platforms Issue related to the all platforms enhancement Feature improvements good first issue Good for newcomers help wanted Extra attention is needed Performance
Projects
None yet
Development

No branches or pull requests

2 participants