atom feed47 messages in org.freebsd.freebsd-currentRe: Some performance measurements on ...
FromSent OnAttachments
Luigi RizzoApr 19, 2012 6:12 am 
Slawa OlhovchenkovApr 19, 2012 11:53 am 
Andre OppermannApr 19, 2012 1:05 pm 
Luigi RizzoApr 19, 2012 1:26 pm 
K. MacyApr 19, 2012 1:34 pm 
Luigi RizzoApr 19, 2012 2:03 pm 
K. MacyApr 19, 2012 2:06 pm 
Andre OppermannApr 19, 2012 2:11 pm 
K. MacyApr 19, 2012 2:17 pm 
Andre OppermannApr 19, 2012 2:19 pm 
Andre OppermannApr 19, 2012 2:26 pm 
K. MacyApr 19, 2012 2:35 pm 
K. MacyApr 19, 2012 2:36 pm 
Luigi RizzoApr 19, 2012 2:43 pm 
Andre OppermannApr 19, 2012 3:36 pm 
Luigi RizzoApr 19, 2012 11:16 pm 
Alexander V. ChernikovApr 20, 2012 1:26 am 
Andre OppermannApr 20, 2012 2:00 am 
Andre OppermannApr 20, 2012 2:25 am 
John BaldwinApr 20, 2012 5:11 am 
Luigi RizzoApr 20, 2012 7:26 am 
K. MacyApr 20, 2012 9:28 am 
Luigi RizzoApr 20, 2012 11:46 am 
Bruce EvansApr 20, 2012 11:33 pm 
Adrian ChaddApr 21, 2012 7:14 pm 
K. MacyApr 22, 2012 7:04 am 
Andre OppermannApr 24, 2012 6:16 am 
Luigi RizzoApr 24, 2012 6:44 am 
Li, QingApr 24, 2012 7:15 am 
K. MacyApr 24, 2012 8:03 am 
K. MacyApr 24, 2012 8:05 am 
Luigi RizzoApr 24, 2012 9:16 am 
K. MacyApr 24, 2012 9:18 am 
Fabien ThomasApr 24, 2012 9:34 am 
Li, QingApr 24, 2012 10:39 am 
Li, QingApr 24, 2012 10:42 am 
Bjoern A. ZeebApr 24, 2012 5:01 pm 
Maxim KonovalovApr 25, 2012 2:21 am 
Slawa OlhovchenkovApr 25, 2012 3:19 am 
K. MacyApr 25, 2012 8:44 am 
Bjoern A. ZeebApr 25, 2012 11:53 am 
George Neville-NeilMay 1, 2012 7:27 am 
Luigi RizzoMay 1, 2012 8:21 am 
George Neville-NeilMay 1, 2012 10:33 am 
Bjoern A. ZeebMay 1, 2012 2:08 pm 
Luigi RizzoMay 1, 2012 2:22 pm 
Luigi RizzoMay 3, 2012 9:32 am 
Subject:Re: Some performance measurements on the FreeBSD network stack
From:Bruce Evans (br@optusnet.com.au)
Date:Apr 20, 2012 11:33:45 pm
List:org.freebsd.freebsd-current

On Fri, 20 Apr 2012, K. Macy wrote:

On Fri, Apr 20, 2012 at 4:44 PM, Luigi Rizzo <riz@iet.unipi.it> wrote:

The small penalty when flowtable is disabled but compiled in is probably because the net.flowtable.enable flag is checked a bit deep in the code.

The advantage with non-connect()ed sockets is huge. I don't quite understand why disabling the flowtable still helps there.

Do you mean having it compiled in but disabled still helps performance? Yes, that is extremely strange.

This reminds me that when I worked on this, I saw very large throughput differences (in the 20-50% range) as a result of minor changes in unrelated code. I could get these changes intentionally by adding or removing padding in unrelated unused text space, so the differences were apparently related to text alignment. I thought I had some significant micro-optimizations, but it turned out that they were acting mainly by changing the layout in related used text space where it is harder to control. Later, I suspected that the differences were more due to cache misses for data than for text. The CPU and its caching must affect this significantly. I tested on an AthlonXP and Athlon64, and the differences were larger on the AthlonXP. Both of these have a shared I/D cache so pressure on the I part would affect the D part, but in this benchmark the D part is much more active than the I part so it is unclear how text layout could have such a large effect.

Anyway, the large differences made it impossible to trust the results of benchmarking any single micro-benchmark. Also, ministat is useless for understanding the results. (I note that luigi didn't provide any standard deviations and neither would I. :-). My results depended on the cache behaviour but didn't change significantly when rerun, unless the code was changed.

Bruce