From 24e6d972aa6388455b501074f34ff098592c870b Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 26 Oct 2012 00:49:52 +0200 Subject: [PATCH] OPTIM: http: inline http_parse_chunk_size() and http_skip_chunk_crlf() These functions are not that long and the compiler inlines them well. Doing so has sped up the chunked encoding parser by 41% ! Note that http_forward_trailers was also declared static because it's not exported. --- src/proto_http.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/proto_http.c b/src/proto_http.c index 62b7ca2d8..0c812d9e8 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -1745,7 +1745,7 @@ void http_change_connection_header(struct http_txn *txn, struct http_msg *msg, i * Return >0 on success, 0 when some data is missing, <0 on error. * Note: this function is designed to parse wrapped CRLF at the end of the buffer. */ -int http_parse_chunk_size(struct http_msg *msg) +static inline int http_parse_chunk_size(struct http_msg *msg) { const struct buffer *buf = msg->chn->buf; const char *ptr = b_ptr(buf, msg->next); @@ -1855,7 +1855,7 @@ int http_parse_chunk_size(struct http_msg *msg) * important to note that this function is designed to be able to parse wrapped * headers at end of buffer. */ -int http_forward_trailers(struct http_msg *msg) +static int http_forward_trailers(struct http_msg *msg) { const struct buffer *buf = msg->chn->buf; @@ -1929,7 +1929,7 @@ int http_forward_trailers(struct http_msg *msg) * does not change anything. Note: this function is designed to parse wrapped * CRLF at the end of the buffer. */ -int http_skip_chunk_crlf(struct http_msg *msg) +static inline int http_skip_chunk_crlf(struct http_msg *msg) { const struct buffer *buf = msg->chn->buf; const char *ptr;