aboutsummaryrefslogtreecommitdiffstats
path: root/community/xxhash
Commit message (Collapse)AuthorAgeFilesLines
* community/xxhash: disable tests on armhfLeonardo Arena2018-12-181-2/+5
| | | | make: *** [Makefile:129: check] Bus error
* community/xxhash: fix 20x speed degradation on x86*, upgrade to 0.6.5alpine-mips-patches2018-12-182-13/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Yes, it is 20 times slower on x86* than it should be because xxhash.c always uses "safe" memcpy()-based methods for unaligned memory access (XXH_readXX) irregardless of input alignment due to x86-default XXH_FORCE_ALIGN_CHECK=0. This ends up with real memcpy() calls in hot path (with -O2 too). The bug affects Alpine x86* (not just edge, but at least 3.8 too -- i.e. this is not something introduced in 0.6.5) for aligned and unaligned inputs. Other architectures are severely affected for unaligned inputs only. The fix lifts the XXH_FORCE_MEMORY_ACCESS=1 condition to enable XXH_readXX methods based on __attribute__((__packed__)) usage everywhere except ARMv6 (which is covered by its own case earlier). This is safe and fast because the compiler will either: - use direct storage access instructions on capable architectures such as aarch64, armv7, ppc64le, s390x, x86* irregardless of input alignment; - or use relatively fast LWL/LWR instructions on mips* with unaligned input; - or use byte load/stores and shifts/ors on armel with unaligned input which is still faster then memcpy() call. All aports that use xxhash.c are likely affected. For example, community/zstd suffers too though not so grave (~15% difference for "zstd -t" on big archive) and main/lz4 is twice slower on basic compression levels. Other aport changes: - modernize; - enable check(); it is short and fast so suitable for slow builders too. The python part is left intact though newer version exists.
* [various]: unify names of licenses according to SPDXJakub Jirutka2017-12-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit updates $license variable in all APKBUILDs to comply with short names specified by SPDX version 3.0 [1] where possible. It was done using find-and-replace method on substrings inside $license variables. Only license names were updated, not "expressions" specifying relation between the licenses (e.g. "X and Y", "X or Y", "X and (Y or Z)") or exceptions (e.g. "X with exceptions"). Many licenses have a version or multiple variants, e.g. MPL-2.0, BSD-2-Clause, BSD-3-Clause. However, $license in many aports do not contain license version or variant. Since there's no way how to infer this information just from abuild, it were left without the variant suffix or version, i.e. non SPDX compliant. GNU licenses (AGPL, GFDL, GPL, LGPL) are especially complicated. They exist in two variants: -only (formerly e.g. GPL-2.0) and -or-later (formerly e.g. GPL-2.0+). We did not systematically noted distinguish between these variants, so GPL-2.0, GPL2, GPLv2 etc. may mean GPL-2.0-only or GPL-2.0-or-later. Thus GNU licenses without "+" (e.g. GPL2+) were left without the variant suffix, i.e. non SPDX compliant. Note: This commit just fixes format of the license names, no verification has been done if the specified license information is actually correct! [1]: https://spdx.org/licenses/
* community/xxhash: rebuild against new version of python3Ɓukasz Jendrysik2017-02-181-1/+1
|
* testing/xxhash: move to communityStuart Cardall2017-02-151-0/+67
moves xxhash / py2-xxhash / py3-xxhash to community so xpra builds with xxhash support.