haproxy/src
Willy Tarreau 0431f9d476 OPTIM: http: improve parsing performance of long header lines
A performance test with 1kB cookies was capping at 194k req/s. After
implementing multi-byte skipping, the performance increased to 212k req/s,
or 9.2% faster. This patch implements this for architectures supporting
unaligned accesses (x86_64, x86, armv7a). Maybe other architectures can
benefit from this but they were not tested yet.
2016-11-05 18:00:17 +01:00
..
51d.c BUILD/MAJOR:updated 51d Trie implementation to incorperate latest update to 51Degrees.c 2016-08-24 20:29:31 +02:00
acl.c MINOR: acl: Add predefined METH_DELETE, METH_PUT 2016-04-12 11:44:09 +02:00
applet.c MINOR: stream-int: rename si_applet_done() to si_applet_wake_cb() 2015-09-25 21:16:02 +02:00
arg.c MINOR: sample: Moves ARGS underlying type from 32 to 64 bits. 2016-03-15 22:11:52 +01:00
auth.c MINOR: samples: rename union from "data" to "u" 2015-08-20 17:13:46 +02:00
backend.c MINOR: server: compute a "cumulative weight" to allow chash balancing to hit its target 2016-10-25 20:21:32 +02:00
base64.c [MINOR] add encode/decode function for 30-bit integers from/to base64 2010-10-30 19:04:33 +02:00
buffer.c BUG/MEDIUM: buffers: do not round up buffer size during allocation 2016-01-25 02:31:18 +01:00
cfgparse.c CLEANUP: cfgparse: Very minor spelling correction 2016-10-26 18:46:01 +02:00
channel.c BUG/MEDIUM: channel: fix inconsistent handling of 4GB-1 transfers 2016-05-04 15:26:37 +02:00
checks.c MAJOR: check: find out which port to use for health check at run time 2016-09-11 08:12:13 +02:00
chunk.c CLEANUP: fixed some usages of realloc leading to memory leak 2016-06-29 10:45:18 +02:00
compression.c BUILD: compression: remove a warning when no compression lib is used 2016-08-10 21:17:06 +02:00
connection.c CLEANUP: connection: using internal struct to hold source and dest port. 2016-07-05 14:43:05 +02:00
da.c MINOR: da: Using ARG12 macro for the sample fetch and the convertor. 2016-03-17 05:44:33 +01:00
dns.c BUG/MEDIUM: dns: don't randomly crash on out-of-memory 2016-10-01 09:23:04 +02:00
dumpstats.c MINOR: stats: Escape equals sign on socket dump 2016-10-25 22:15:22 +02:00
ev_epoll.c CLEANUP: poll: move the conditions for waiting out of the poll functions 2015-04-13 20:47:51 +02:00
ev_kqueue.c CLEANUP: remove unneeded casts 2016-04-03 14:17:42 +02:00
ev_poll.c BUILD: poll: remove unused hap_fd_isset() which causes a warning with clang 2016-08-10 21:23:48 +02:00
ev_select.c CLEANUP: poll: move the conditions for waiting out of the poll functions 2015-04-13 20:47:51 +02:00
fd.c CLEANUP: remove unneeded casts 2016-04-03 14:17:42 +02:00
filters.c BUG/MEDIUM: filters: Fix data filtering when data are modified 2016-06-21 18:53:08 +02:00
flt_http_comp.c OPTIM: http: move all http character classs tables into a single one 2016-11-05 15:58:08 +01:00
flt_trace.c MEDIUM: filters: Add pre and post analyzer callbacks 2016-05-18 15:11:54 +02:00
freq_ctr.c BUG/MINOR: time: frequency counters are not totally accurate 2012-12-29 21:50:07 +01:00
frontend.c MINOR: Add fe_req_rate sample fetch 2016-10-03 16:08:09 +02:00
haproxy-systemd-wrapper.c BUG/MEDIUM: systemd-wrapper: return correct exit codes 2016-11-03 20:34:20 +01:00
haproxy.c BUG/MEDIUM: systemd: let the wrapper know that haproxy has completed or failed 2016-10-25 17:43:45 +02:00
hash.c MINOR: hash: add new function hash_crc32 2015-01-20 19:48:05 +01:00
hdr_idx.c OPTIM/MINOR: move the hdr_idx pools out of the proxy struct 2011-10-24 18:15:04 +02:00
hlua.c BUG/MEDIUM: lua: somme HTTP manipulation functions are called without valid requests 2016-08-03 00:06:13 +02:00
hlua_fcn.c CLEANUP: remove unneeded casts 2016-04-03 14:17:42 +02:00
i386-linux-vsys.c MEDIUM: listener: add support for linux's accept4() syscall 2012-10-08 20:11:03 +02:00
lb_chash.c MEDIUM: server: Implement bounded-load hash algorithm 2016-10-25 20:21:32 +02:00
lb_fas.c REORG/MEDIUM: server: split server state and flags in two different variables 2014-05-22 11:27:00 +02:00
lb_fwlc.c REORG/MEDIUM: server: split server state and flags in two different variables 2014-05-22 11:27:00 +02:00
lb_fwrr.c REORG/MEDIUM: server: split server state and flags in two different variables 2014-05-22 11:27:00 +02:00
lb_map.c CLEANUP: remove unneeded casts 2016-04-03 14:17:42 +02:00
listener.c MINOR: listener: add the "accept-netscaler-cip" option to the "bind" keyword 2016-06-20 23:02:47 +02:00
log.c MEDIUM: log: Decompose %Tq in %Th %Ti %TR 2016-08-23 15:18:08 +02:00
lru.c MINOR: lru: new function to delete <nb> least recently used keys 2016-01-11 07:31:35 +01:00
mailers.c MEDIUM: Add parsing of mailers section 2015-02-03 00:24:16 +01:00
map.c CLEANUP: map: Avoid memory leak in out-of-memory condition. 2016-03-08 12:55:06 +01:00
memory.c MEDIUM: pools: add a new flag to avoid rounding pool size up 2016-01-25 02:31:18 +01:00
namespace.c CLEANUP: uniformize last argument of malloc/calloc 2016-04-03 14:17:42 +02:00
pattern.c BUG/MINOR: pattern: Avoid memory leak on out-of-memory condition 2016-03-13 07:47:25 +01:00
payload.c BUG/MINOR: payload: fix SSLv2 version parser 2016-08-30 14:47:57 +02:00
peers.c MINOR: peers: remove the pointer to the stream 2016-10-31 20:07:01 +01:00
pipe.c BUILD/MINOR: silent a build warning in src/pipe.c (fcntl) 2011-10-24 17:09:22 +02:00
proto_http.c OPTIM: http: improve parsing performance of long header lines 2016-11-05 18:00:17 +01:00
proto_tcp.c MEDIUM: tcp: add registration and processing of TCP L5 rules 2016-10-21 18:19:24 +02:00
proto_udp.c CLEANUP: fix inconsistency between fd->iocb, proto->accept and accept() 2016-04-14 11:18:22 +02:00
proto_uxst.c MINOR: unix: don't mention free ports on EAGAIN 2016-01-26 21:11:51 +01:00
protocol.c BUILD: protocol: fix some build errors on OpenBSD 2016-08-10 19:31:58 +02:00
proxy.c MEDIUM: tcp: add registration and processing of TCP L5 rules 2016-10-21 18:19:24 +02:00
queue.c MINOR: proxy: add 'served' field to proxy, equal to total of all servers' 2016-10-25 20:21:32 +02:00
raw_sock.c BUG/MINOR: raw_sock: also consider ENOTCONN in addition to EAGAIN for recv() 2014-03-04 07:27:18 +01:00
rbtree.c [MINOR] imported the rbtree function from Linux kernel 2007-01-07 02:12:57 +01:00
regex.c CLEANUP: uniformize last argument of malloc/calloc 2016-04-03 14:17:42 +02:00
sample.c OPTIM: http: move all http character classs tables into a single one 2016-11-05 15:58:08 +01:00
server.c CLEANUP: tools: make ipcpy() preserve the original port 2016-11-05 13:56:04 +01:00
session.c MEDIUM: tcp: add registration and processing of TCP L5 rules 2016-10-21 18:19:24 +02:00
shctx.c CLEANUP: remove unneeded casts 2016-04-03 14:17:42 +02:00
signal.c MEDIUM: unblock signals on startup. 2016-04-20 10:53:12 +02:00
ssl_sock.c BUG/MINOR: ssl: prevent multiple entries for the same certificate 2016-10-24 19:13:12 +02:00
standard.c CLEANUP: tools: make ipcpy() preserve the original port 2016-11-05 13:56:04 +01:00
stick_table.c MEDIUM: tcp: add registration and processing of TCP L5 rules 2016-10-21 18:19:24 +02:00
stream.c MINOR: proxy: add 'served' field to proxy, equal to total of all servers' 2016-10-25 20:21:32 +02:00
stream_interface.c BUG/MEDIUM: stream-int: avoid double-call to applet->release 2015-09-25 21:16:03 +02:00
task.c REORG/MAJOR: session: rename the "session" entity to "stream" 2015-04-06 11:23:56 +02:00
time.c BUG/MINOR: time: frequency counters are not totally accurate 2012-12-29 21:50:07 +01:00
trace.c BUG/MEDIUM: trace.c: rdtsc() is defined in two files 2016-04-09 22:27:01 +02:00
uri_auth.c CLEANUP: uniformize last argument of malloc/calloc 2016-04-03 14:17:42 +02:00
vars.c MEDIUM: tcp: add registration and processing of TCP L5 rules 2016-10-21 18:19:24 +02:00
xxhash.c CLEANUP: remove unneeded casts 2016-04-03 14:17:42 +02:00