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

zlib: refactor zlib internals #23360

Closed
wants to merge 1 commit into from
Closed

Conversation

addaleax
Copy link
Member

  • zlib: generate error code names in C++

    This makes it easier to implement the lookup in a way that targets
    error codes from a specific compression library, as a way towards
    supporting multiple ones (e.g. brotli).

  • zlib: refactor zlib internals

    Split out things that are specific to zlib as a specific
    compression library, vs. the interface that is common to
    most C compression libraries.

    This should pave the way for including support for e.g.
    brotli.

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • commit message follows commit guidelines

@nodejs-github-bot nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. zlib Issues and PRs related to the zlib subsystem. labels Oct 10, 2018
@addaleax
Copy link
Member Author

addaleax commented Oct 10, 2018

Fixed the compiler error from linux-one.

CI: https://ci.nodejs.org/job/node-test-pull-request/17713/ (:heavy_check_mark:)

@addaleax
Copy link
Member Author

This should not affect runtime performance, but here’s a benchmark CI just to be super sure:

CI: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/242/

@addaleax
Copy link
Member Author

addaleax commented Oct 12, 2018

Infra failure in the benchmarks build… new run (again, just to be extra sure): https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/244/

creation.js benchmark with more iterations: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/246/ (:heavy_check_mark:)

Split out things that are specific to zlib as a specific
compression library, vs. the interface that is common to
most C compression libraries.

This should pave the way for including support for e.g.
brotli.
@danbev
Copy link
Contributor

danbev commented Oct 16, 2018

Landed in c34eae5.

@danbev danbev closed this Oct 16, 2018
danbev pushed a commit that referenced this pull request Oct 16, 2018
Split out things that are specific to zlib as a specific
compression library, vs. the interface that is common to
most C compression libraries.

This should pave the way for including support for e.g.
brotli.

PR-URL: #23360
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
jasnell pushed a commit that referenced this pull request Oct 17, 2018
Split out things that are specific to zlib as a specific
compression library, vs. the interface that is common to
most C compression libraries.

This should pave the way for including support for e.g.
brotli.

PR-URL: #23360
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
@addaleax addaleax deleted the zlib-refactor branch October 17, 2018 19:38
@addaleax addaleax mentioned this pull request Oct 17, 2018
4 tasks
addaleax added a commit that referenced this pull request Oct 20, 2018
Split out things that are specific to zlib as a specific
compression library, vs. the interface that is common to
most C compression libraries.

This should pave the way for including support for e.g.
brotli.

PR-URL: #23360
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
MylesBorins pushed a commit that referenced this pull request Oct 30, 2018
Split out things that are specific to zlib as a specific
compression library, vs. the interface that is common to
most C compression libraries.

This should pave the way for including support for e.g.
brotli.

PR-URL: #23360
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
@codebytere codebytere mentioned this pull request Nov 27, 2018
rvagg pushed a commit that referenced this pull request Nov 28, 2018
Split out things that are specific to zlib as a specific
compression library, vs. the interface that is common to
most C compression libraries.

This should pave the way for including support for e.g.
brotli.

PR-URL: #23360
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
MylesBorins pushed a commit that referenced this pull request Nov 29, 2018
Split out things that are specific to zlib as a specific
compression library, vs. the interface that is common to
most C compression libraries.

This should pave the way for including support for e.g.
brotli.

PR-URL: #23360
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
@codebytere codebytere mentioned this pull request Nov 29, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ Issues and PRs that require attention from people who are familiar with C++. zlib Issues and PRs related to the zlib subsystem.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants