mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-06 15:17:01 +02:00
[CONTRIB] halog: minor speed improvement in timer parser
The timer parser looks for the next slash after the last timer, which is very far away. Those 4 occurrences have been fixed to match the way it's done in URL sorting, which is faster. Average speed gain is 5-6% on -srv and -pct. (cherry picked from commit 3555671c93695f48c02ef05c8bb228523f17ca20)
This commit is contained in:
parent
abe45b6bb3
commit
24bcb4f2ff
@ -502,17 +502,19 @@ int main(int argc, char **argv)
|
||||
}
|
||||
|
||||
e = field_stop(b + 1);
|
||||
/* we have field TIME_FIELD in [b]..[e-1] */
|
||||
/* we have field TIME_FIELD in [b]..[e-1], let's check only the response time */
|
||||
|
||||
p = b;
|
||||
err = 0;
|
||||
for (f = 0; f < 4 && *p; f++) {
|
||||
f = 0;
|
||||
while (*p) {
|
||||
tps = str2ic(p);
|
||||
if (tps < 0) {
|
||||
tps = -1;
|
||||
err = 1;
|
||||
}
|
||||
|
||||
if (++f == 4)
|
||||
break;
|
||||
SKIP_CHAR(p, '/');
|
||||
}
|
||||
|
||||
@ -577,13 +579,15 @@ int main(int argc, char **argv)
|
||||
|
||||
p = b;
|
||||
err = 0;
|
||||
for (f = 0; f < 5 && *p; f++) {
|
||||
f = 0;
|
||||
while (*p) {
|
||||
array[f] = str2ic(p);
|
||||
if (array[f] < 0) {
|
||||
array[f] = -1;
|
||||
err = 1;
|
||||
}
|
||||
|
||||
if (++f == 5)
|
||||
break;
|
||||
SKIP_CHAR(p, '/');
|
||||
}
|
||||
|
||||
@ -740,13 +744,15 @@ int main(int argc, char **argv)
|
||||
|
||||
p = b;
|
||||
err = 0;
|
||||
for (f = 0; f < 5 && *p; f++) {
|
||||
f = 0;
|
||||
while (*p) {
|
||||
array[f] = str2ic(p);
|
||||
if (array[f] < 0) {
|
||||
array[f] = -1;
|
||||
err = 1;
|
||||
}
|
||||
|
||||
if (++f == 5)
|
||||
break;
|
||||
SKIP_CHAR(p, '/');
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user