26 lines
710 B
Diff
26 lines
710 B
Diff
Subject: reduce execution time of function PHP_ADLER32Update for lcc-1.24
|
|
Bug: 119649
|
|
Tags: lcc, perf
|
|
|
|
--- a/ext/hash/hash_adler32.c 2020-06-29 18:42:05.852750063 +0300
|
|
+++ b/ext/hash/hash_adler32.c 2020-06-29 19:23:58.036909983 +0300
|
|
@@ -27,14 +27,16 @@
|
|
|
|
PHP_HASH_API void PHP_ADLER32Update(PHP_ADLER32_CTX *context, const unsigned char *input, size_t len)
|
|
{
|
|
- uint32_t i, s[2];
|
|
+ long i;
|
|
+ uint32_t s[2];
|
|
|
|
s[0] = context->state & 0xffff;
|
|
s[1] = (context->state >> 16) & 0xffff;
|
|
+#pragma loop count(1000)
|
|
for (i = 0; i < len; ++i) {
|
|
s[0] += input[i];
|
|
s[1] += s[0];
|
|
- if (s[1]>=0x7fffffff)
|
|
+ if (__builtin_expect(s[1]>=0x7fffffff,0))
|
|
{
|
|
s[0] = s[0] % 65521;
|
|
s[1] = s[1] % 65521;
|