mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-13 06:54:37 +00:00
f9042060c9
Gcc tries to be a bit too smart in these small loops and the result is that on i386 we waste a lot of time there. By recoding these loops in assembly, we save up to 23% total processing time on i386! The savings on x86_64 are much lower, probably because there are more registers and gcc has to do less tricks. However, those savings vary a lot between gcc versions and even cause harm on some of them (eg: 4.4) because gcc does not know how to optimize the code once inlined. However, by recoding field_start() in C to try to match the assembly code as much as possible, we can significantly reduce its execution time without risking the negative impacts. Thus, the assembly version is less interesting there but still worth being used on some compilers. |
||
---|---|---|
.. | ||
fgets2-64.c | ||
fgets2.c | ||
halog.c | ||
Makefile |