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)
}
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, '/');
}
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, '/');
}
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, '/');
}