mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-01-19 00:51:37 +01:00
[OPTIM] small optimization on session_process_counters()
It was possible to slightly reduce the size and the number of operations in session_process_counters(). Two 64 bit comparisons were removed, reducing the code by 98 bytes on x86 due to the lack of registers. The net observed performance gain is almost 2%, which cannot be attributed to those optimizations, but more likely to induced changes in code alignment in other functions.
This commit is contained in:
parent
583bc96606
commit
30e7101137
@ -102,36 +102,36 @@ int init_session()
|
||||
return pool2_session != NULL;
|
||||
}
|
||||
|
||||
void session_process_counters(struct session *s) {
|
||||
|
||||
void session_process_counters(struct session *s)
|
||||
{
|
||||
unsigned long long bytes;
|
||||
|
||||
if (s->req && s->req->total != s->logs.bytes_in) {
|
||||
if (s->req) {
|
||||
bytes = s->req->total - s->logs.bytes_in;
|
||||
|
||||
s->fe->bytes_in += bytes;
|
||||
|
||||
if (s->be != s->fe)
|
||||
s->be->bytes_in += bytes;
|
||||
|
||||
if (s->srv)
|
||||
s->srv->bytes_in += bytes;
|
||||
|
||||
s->logs.bytes_in = s->req->total;
|
||||
if (bytes) {
|
||||
s->fe->bytes_in += bytes;
|
||||
|
||||
if (s->be != s->fe)
|
||||
s->be->bytes_in += bytes;
|
||||
|
||||
if (s->srv)
|
||||
s->srv->bytes_in += bytes;
|
||||
}
|
||||
}
|
||||
|
||||
if (s->rep && s->rep->total != s->logs.bytes_out) {
|
||||
if (s->rep) {
|
||||
bytes = s->rep->total - s->logs.bytes_out;
|
||||
|
||||
s->fe->bytes_out += bytes;
|
||||
|
||||
if (s->be != s->fe)
|
||||
s->be->bytes_out += bytes;
|
||||
|
||||
if (s->srv)
|
||||
s->srv->bytes_out += bytes;
|
||||
|
||||
s->logs.bytes_out = s->rep->total;
|
||||
if (bytes) {
|
||||
s->fe->bytes_out += bytes;
|
||||
|
||||
if (s->be != s->fe)
|
||||
s->be->bytes_out += bytes;
|
||||
|
||||
if (s->srv)
|
||||
s->srv->bytes_out += bytes;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user