Uh oh!
There was an error while loading. Please reload this page.
Migrate to zlib-ng, part 2: consume it in runtime - #102403
Conversation
Uh oh!
There was an error while loading. Please reload this page.
jkotas
commented
May 17, 2024
To make this easier to review, it would be best to split this into 3 PRs:
|
carlossanlop
commented
May 17, 2024
@jkotas yes, I can do that. I don't want you to keep a fire extinguisher next to your overworked processor. |
Uh oh!
There was an error while loading. Please reload this page.
carlossanlop
commented
May 20, 2024
jkotas
commented
May 21, 2024
The test binaries like src/native/external/zlib-ng/test/CVE-2002-0059/test.gz are going to pain to deal with for source build. Can we exclude the test subdirectory from the vendored copy? I do not expect that we are going to run the native zlib-ng tests in this repo. |
Uh oh!
There was an error while loading. Please reload this page.
jkotas
commented
May 21, 2024
This is better than nothing, but it is still pretty clunky experience. FWIW, I am regularly splitting my changes into multiple PRs when they are mix of large mechanical delta and smaller actual code delta. For example, I have done it a few days ago in #102422. I could have folded this mechanical change into #102392 that it is needed for, but I have intentionally split it into multiple PRs to get it signed-off and merged faster. |
Uh oh!
There was an error while loading. Please reload this page.
carlossanlop
commented
May 21, 2024
As requested, I submitted #102520 to only bring in the zlib-ng code into our repo (and its licensing files), but without consuming it anywhere yet. I'll update this PR to only include the code that enables zlib-ng, and will revert the changes that remove zlib and zlib-intel (I'll remove those in a third PR). |
carlossanlop
commented
May 22, 2024
Big difference now: 23 files instead of 388. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
carlossanlop
commented
May 23, 2024
I updated the PR description to include some initial perf comparisons in Linux, Windows and MacOS. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
akoeplinger
commented
May 23, 2024
The intention is that we don't use system zlib anymore anywhere right? is that OK with distro maintainers? I wonder if we should set ZLIB_SYMBOL_PREFIX to e.g. |
carlossanlop
commented
May 23, 2024
The linked issue indicates that the repro steps require creating a new iOS project. What that tells me is that the issue was found after merging, and it was caught in servicing (8.0, back in February). I also don't see a PR that fixed the issue, it looks like a workaround was given instead. I'd like to avoid getting at that point to find out about this problem, and also avoid a workaround. Do you know if I can repro this before merging this PR? Maybe even write a test than can confirm this does not happen? |
Uh oh!
There was an error while loading. Please reload this page.
akoeplinger
commented
May 31, 2024
No, the problem was in fact caused by an iOS update after we shipped so there was no way to catch it beforehand, which is why I'd like to make sure we don't have the same potential conflict. |
This comment was marked as resolved.
This comment was marked as resolved.
Uh oh!
There was an error while loading. Please reload this page.
mtl1979
commented
Jul 2, 2024
ARMv6 support in zlib-ng is pretty new and still incomplete... We used to require minimum of ARMv8 as older processors are pretty rare nowadays and don't really benefit much (or any) from any of the currently implemented vector optimizations. |
carlossanlop
commented
Jul 3, 2024
/azp run runtime-community |
This comment was marked as outdated.
This comment was marked as outdated.
carlossanlop
commented
Jul 3, 2024
/azp run runtime-nativeaot-outerloop |
This comment was marked as outdated.
This comment was marked as outdated.
carlossanlop
commented
Jul 3, 2024
/azp run runtime-extra-platforms |
This comment was marked as outdated.
This comment was marked as outdated.
carlossanlop
commented
Jul 3, 2024
/ba-g all failures have been investigated, none are related to this PR |
Uh oh!
There was an error while loading. Please reload this page.
carlossanlop
commented
Jul 4, 2024
This was reverted because it broke the official build. I'll take a look soon. |
…104454) * Reapply "Migrate to zlib-ng, part 2: consume it in runtime (#102403)" (#104414) * Apply jkotas comment suggestion in configureplatform.cmake * Delete unnecessary comment in zlib-ng.cmake * Fix windows nativeaot failure happening when executing: build.cmd -ci -arch x64 -os windows -s clr.nativeaotlibs+clr.nativeaotruntime+libs+packs -c Release /p:BuildNativeAOTRuntimePack=true /p:SkipLibrariesNativeRuntimePackages=true
Contributes to: #101465
Adjust levels if necessary to compensate any regressions.Performance comparisons
dotnet/performance benchmark results: #102403 (comment)
Comparison of CompressionLevel file sizes and elapsed time: #102403 (comment)