@Tulio Magno Quites Machado Filho <tul...@ascii.art.br> there is one
question I have due to the zlib-ng...

What is the difference between zlib-ng compiled with and without the
`ZLIB_COMPAT=ON` option? Are there any differences in the performance, or
is it only the names of the functions?
I'm interested in this because I want to know why would someone use the
"non-compat" zlib-ng? Are there any advantages in using it against the
"compat" zlib-ng?

Thanks for the information.

On Wed, Aug 23, 2023 at 11:00 AM Lukas Javorsky <ljavo...@redhat.com> wrote:

> In the end most of the patches were dropped the uplift wasn't worth the
>> effort of maintaining them downstream, when the effort can be better
>> spent getting a 10X uplift using a more modern compression
>> implementation (ex zstd/lz4/lzo/etc) that isn't written with so many
>> byte oriented assumptions.
>>
>
> Yes, generally having downstream patches is not the goal we want to chase
> in Fedora/RHEL.
> It takes too much effort and knowledge which could be used much more
> efficiently.
>
> And also one of the key values of Red Hat is "upstream first", so we
> always propose the patches to upstream making it a win-win for both sides.
> Unfortunately, zlib's upstream isn't too welcoming for complex patches
> such as these, and most of them are stuck in open PR.
>
> That is a big plus for zlib-ng as its upstream is open for such PRs.
> On the other hand, changes like these could lead to broken compatibility
> which is a big concern for our products in the case of widely used
> packages such as zlib.
>
>
>
> On Tue, Aug 22, 2023 at 10:26 PM Jeremy Linton <jeremy.lin...@arm.com>
> wrote:
>
>> Hi,
>>
>> On 8/6/23 08:33, John Reiser wrote:
>> > On 8/6/23 02:00, Peter Robinson wrote:
>> >> We tried to pull some of the optimisations in some time ago to the
>> >> Fedora package and they caused some issues with compatibility.
>> >
>> > Please provide *any* documentation!  Such as: the dates the work was
>> > performed,
>> > the participants, the nature of the issues, the "other side" of the
>> problem
>> > cases (the other packages, the use cases, etc.)
>>
>> Waves, some of this was my fault.
>>
>> example bug: https://bugzilla.redhat.com/show_bug.cgi?id=1582555
>> look at the zlib rpm history you will see things like:
>>
>>
>> https://src.fedoraproject.org/rpms/zlib/c/71a74f9c8684dd99c0e0657f53affb90a3ca3219?branch=rawhide
>>
>> there were a few others that were ignored, or we reverted part of the
>> original set of 5 or 6 patches. The original patches were aarch64 + NEON
>> optimizations, but there were a number of issues around unittests in
>> various packages that zipped something then validated the results
>> against a known crc/hash/etc which then failed because the hash changed,
>> the size changed, padding issues, the optimized code touched valid parts
>> of the buffer and tripped buffer poisoning logic, etc.
>>
>> Turns out zlib is old school byte oriented and any slight behavioral
>> change can result in compatibility issues. The first obvious
>> optimization is to increase the fetched word/matching sizes, which
>> maintain binary compatibility with the zlib format/decompressor but
>> results in buffer len/compressed size deltas.
>>
>> Of course some of these were potentially the fault of the patches, but
>> you have to decide between perf or compatibility when writing these, and
>> if the goal is faster, then the compatibility gets sacrificed.
>>
>> Bugzilla is taking its time retrieving some of the BZs that were closed
>> without fixes. So you will have to search for them yourself.
>>
>> In the end most of the patches were dropped the uplift wasn't worth the
>> effort of maintaining them downstream, when the effort can be better
>> spent getting a 10X uplift using a more modern compression
>> implementation (ex zstd/lz4/lzo/etc) that isn't written with so many
>> byte oriented assumptions.
>>
>>
>>
>>
>> > _______________________________________________
>> > devel mailing list -- devel@lists.fedoraproject.org
>> > To unsubscribe send an email to devel-le...@lists.fedoraproject.org
>> > Fedora Code of Conduct:
>> > https://docs.fedoraproject.org/en-US/project/code-of-conduct/
>> > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
>> > List Archives:
>> >
>> https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
>> > Do not reply to spam, report it:
>> > https://pagure.io/fedora-infrastructure/new_issue
>> _______________________________________________
>> devel mailing list -- devel@lists.fedoraproject.org
>> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
>> Fedora Code of Conduct:
>> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
>> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
>> List Archives:
>> https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
>> Do not reply to spam, report it:
>> https://pagure.io/fedora-infrastructure/new_issue
>>
>
>
> --
> S pozdravom/ Best regards
>
> Lukáš Javorský
>
> Software Engineer, Core service - Databases
>
> Red Hat <https://www.redhat.com>
>
> Purkyňova 115 (TPB-C)
>
> 612 00 Brno - Královo Pole
>
> ljavo...@redhat.com
> <https://www.redhat.com>
>


-- 
S pozdravom/ Best regards

Lukáš Javorský

Software Engineer, Core service - Databases

Red Hat <https://www.redhat.com>

Purkyňova 115 (TPB-C)

612 00 Brno - Královo Pole

ljavo...@redhat.com
<https://www.redhat.com>
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to