NDR Comparison
~~~~~~~~~~~~~~
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 1c NDR comparison <../../_static/vpp/performance-compare-topologies-3n-skx-2n-skx-1c-ndr.html>`_
+ - `HTML 2c NDR comparison <../../_static/vpp/performance-compare-topologies-3n-skx-2n-skx-2c-ndr.html>`_
- `ASCII 1c NDR comparison <../../_static/vpp/performance-compare-topologies-3n-skx-2n-skx-1c-ndr.txt>`_
- `ASCII 2c NDR comparison <../../_static/vpp/performance-compare-topologies-3n-skx-2n-skx-2c-ndr.txt>`_
- `CSV 1c NDR comparison <../../_static/vpp/performance-compare-topologies-3n-skx-2n-skx-1c-ndr.csv>`_
PDR Comparison
~~~~~~~~~~~~~~
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 1c PDR comparison <../../_static/vpp/performance-compare-topologies-3n-skx-2n-skx-1c-pdr.html>`_
+ - `HTML 2c PDR comparison <../../_static/vpp/performance-compare-topologies-3n-skx-2n-skx-2c-pdr.html>`_
- `ASCII 1c PDR comparison <../../_static/vpp/performance-compare-topologies-3n-skx-2n-skx-1c-pdr.txt>`_
- - `ASCII 1c PDR comparison <../../_static/vpp/performance-compare-topologies-3n-skx-2n-skx-2c-pdr.txt>`_
- - `CSV 2c PDR comparison <../../_static/vpp/performance-compare-topologies-3n-skx-2n-skx-1c-pdr.csv>`_
+ - `ASCII 2c PDR comparison <../../_static/vpp/performance-compare-topologies-3n-skx-2n-skx-2c-pdr.txt>`_
+ - `CSV 1c PDR comparison <../../_static/vpp/performance-compare-topologies-3n-skx-2n-skx-1c-pdr.csv>`_
- `CSV 2c PDR comparison <../../_static/vpp/performance-compare-topologies-3n-skx-2n-skx-2c-pdr.csv>`_
MRR Comparison
~~~~~~~~~~~~~~
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 1c MRR comparison <../../_static/vpp/performance-compare-topologies-3n-skx-2n-skx-1c-mrr.html>`_
+ - `HTML 2c MRR comparison <../../_static/vpp/performance-compare-topologies-3n-skx-2n-skx-2c-mrr.html>`_
+ - `HTML 4c MRR comparison <../../_static/vpp/performance-compare-topologies-3n-skx-2n-skx-4c-mrr.html>`_
- `ASCII 1c MRR comparison <../../_static/vpp/performance-compare-topologies-3n-skx-2n-skx-1c-mrr.txt>`_
- `ASCII 2c MRR comparison <../../_static/vpp/performance-compare-topologies-3n-skx-2n-skx-2c-mrr.txt>`_
- `ASCII 4c MRR comparison <../../_static/vpp/performance-compare-topologies-3n-skx-2n-skx-4c-mrr.txt>`_
NDR Comparison
~~~~~~~~~~~~~~
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 1c NDR comparison <../../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-1c-ndr.html>`_
+ - `HTML 2c NDR comparison <../../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-2c-ndr.html>`_
- `ASCII 1c NDR comparison <../../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-1c-ndr.txt>`_
- `ASCII 2c NDR comparison <../../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-2c-ndr.txt>`_
- `CSV 1c NDR comparison <../../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-1c-ndr.csv>`_
PDR Comparison
~~~~~~~~~~~~~~
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 1c PDR comparison <../../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-1c-pdr.html>`_
+ - `HTML 2c PDR comparison <../../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-2c-pdr.html>`_
- `ASCII 1c PDR comparison <../../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-1c-pdr.txt>`_
- `ASCII 2c PDR comparison <../../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-2c-pdr.txt>`_
- `CSV 1c PDR comparison <../../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-1c-pdr.csv>`_
MRR Comparison
~~~~~~~~~~~~~~
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 1c MRR comparison <../../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-1c-mrr.html>`_
+ - `HTML 2c MRR comparison <../../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-2c-mrr.html>`_
+ - `HTML 4c MRR comparison <../../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-4c-mrr.html>`_
- `ASCII 1c MRR comparison <../../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-1c-mrr.txt>`_
- `ASCII 2c MRR comparison <../../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-2c-mrr.txt>`_
- `ASCII 4c MRR comparison <../../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-4c-mrr.txt>`_
NDR Comparison
``````````````
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 2t1c NDR comparison <../../_static/vpp/performance-changes-2n-skx-2t1c-ndr.html>`_
+ - `HTML 4t2c NDR comparison <../../_static/vpp/performance-changes-2n-skx-4t2c-ndr.html>`_
- `ASCII 2t1c NDR comparison <../../_static/vpp/performance-changes-2n-skx-2t1c-ndr.txt>`_
- `ASCII 4t2c NDR comparison <../../_static/vpp/performance-changes-2n-skx-4t2c-ndr.txt>`_
- `CSV 2t1c NDR comparison <../../_static/vpp/performance-changes-2n-skx-2t1c-ndr.csv>`_
PDR Comparison
``````````````
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 2t1c PDR comparison <../../_static/vpp/performance-changes-2n-skx-2t1c-pdr.html>`_
+ - `HTML 4t2c PDR comparison <../../_static/vpp/performance-changes-2n-skx-4t2c-pdr.html>`_
- `ASCII 2t1c PDR comparison <../../_static/vpp/performance-changes-2n-skx-2t1c-pdr.txt>`_
- `ASCII 4t2c PDR comparison <../../_static/vpp/performance-changes-2n-skx-4t2c-pdr.txt>`_
- `CSV 2t1c PDR comparison <../../_static/vpp/performance-changes-2n-skx-2t1c-pdr.csv>`_
MRR Comparison
``````````````
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 2t1c MRR comparison <../../_static/vpp/performance-changes-2n-skx-2t1c-mrr.html>`_
+ - `HTML 4t2c MRR comparison <../../_static/vpp/performance-changes-2n-skx-4t2c-mrr.html>`_
+ - `HTML 8t4c MRR comparison <../../_static/vpp/performance-changes-2n-skx-8t4c-mrr.html>`_
- `ASCII 2t1c MRR comparison <../../_static/vpp/performance-changes-2n-skx-2t1c-mrr.txt>`_
- `ASCII 4t2c MRR comparison <../../_static/vpp/performance-changes-2n-skx-4t2c-mrr.txt>`_
- `ASCII 8t4c MRR comparison <../../_static/vpp/performance-changes-2n-skx-8t4c-mrr.txt>`_
NDR Comparison
``````````````
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 2t1c NDR comparison <../../_static/vpp/performance-changes-3n-skx-2t1c-ndr.html>`_
+ - `HTML 4t2c NDR comparison <../../_static/vpp/performance-changes-3n-skx-4t2c-ndr.html>`_
- `ASCII 2t1c NDR comparison <../../_static/vpp/performance-changes-3n-skx-2t1c-ndr.txt>`_
- `ASCII 4t2c NDR comparison <../../_static/vpp/performance-changes-3n-skx-4t2c-ndr.txt>`_
- `CSV 2t1c NDR comparison <../../_static/vpp/performance-changes-3n-skx-2t1c-ndr.csv>`_
PDR Comparison
``````````````
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 2t1c PDR comparison <../../_static/vpp/performance-changes-3n-skx-2t1c-pdr.html>`_
+ - `HTML 4t2c PDR comparison <../../_static/vpp/performance-changes-3n-skx-4t2c-pdr.html>`_
- `ASCII 2t1c PDR comparison <../../_static/vpp/performance-changes-3n-skx-2t1c-pdr.txt>`_
- `ASCII 4t2c PDR comparison <../../_static/vpp/performance-changes-3n-skx-4t2c-pdr.txt>`_
- `CSV 2t1c PDR comparison <../../_static/vpp/performance-changes-3n-skx-2t1c-pdr.csv>`_
MRR Comparison
``````````````
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 2t1c MRR comparison <../../_static/vpp/performance-changes-3n-skx-2t1c-mrr.html>`_
+ - `HTML 4t2c MRR comparison <../../_static/vpp/performance-changes-3n-skx-4t2c-mrr.html>`_
+ - `HTML 8t4c MRR comparison <../../_static/vpp/performance-changes-3n-skx-8t4c-mrr.html>`_
- `ASCII 2t1c MRR comparison <../../_static/vpp/performance-changes-3n-skx-2t1c-mrr.txt>`_
- `ASCII 4t2c MRR comparison <../../_static/vpp/performance-changes-3n-skx-4t2c-mrr.txt>`_
- `ASCII 8t4c MRR comparison <../../_static/vpp/performance-changes-3n-skx-8t4c-mrr.txt>`_
NDR Comparison
``````````````
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 1t1c NDR comparison <../../_static/vpp/performance-changes-3n-hsw-1t1c-ndr.html>`_
+ - `HTML 2t2c NDR comparison <../../_static/vpp/performance-changes-3n-hsw-2t2c-ndr.html>`_
- `ASCII 1t1c NDR comparison <../../_static/vpp/performance-changes-3n-hsw-1t1c-ndr.txt>`_
- `ASCII 2t2c NDR comparison <../../_static/vpp/performance-changes-3n-hsw-2t2c-ndr.txt>`_
- `CSV 1t1c NDR comparison <../../_static/vpp/performance-changes-3n-hsw-1t1c-ndr.csv>`_
PDR Comparison
``````````````
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 1t1c PDR comparison <../../_static/vpp/performance-changes-3n-hsw-1t1c-pdr.html>`_
+ - `HTML 2t2c PDR comparison <../../_static/vpp/performance-changes-3n-hsw-2t2c-pdr.html>`_
- `ASCII 1t1c PDR comparison <../../_static/vpp/performance-changes-3n-hsw-1t1c-pdr.txt>`_
- `ASCII 2t2c PDR comparison <../../_static/vpp/performance-changes-3n-hsw-2t2c-pdr.txt>`_
- `CSV 1t1c PDR comparison <../../_static/vpp/performance-changes-3n-hsw-1t1c-pdr.csv>`_
MRR Comparison
``````````````
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 1t1c MRR comparison <../../_static/vpp/performance-changes-3n-hsw-1t1c-mrr.html>`_
+ - `HTML 2t2c MRR comparison <../../_static/vpp/performance-changes-3n-hsw-2t2c-mrr.html>`_
+ - `HTML 4t4c MRR comparison <../../_static/vpp/performance-changes-3n-hsw-4t4c-mrr.html>`_
- `ASCII 1t1c MRR comparison <../../_static/vpp/performance-changes-3n-hsw-1t1c-mrr.txt>`_
- `ASCII 2t2c MRR comparison <../../_static/vpp/performance-changes-3n-hsw-2t2c-mrr.txt>`_
- `ASCII 4t4c MRR comparison <../../_static/vpp/performance-changes-3n-hsw-4t4c-mrr.txt>`_
- `CSV 4t4c MRR comparison <../../_static/vpp/performance-changes-3n-hsw-4t4c-mrr.csv>`_
..
+ 3n-tsh
+ ~~~~~~
+
+ NDR Comparison
+ ``````````````
+
+ Comparison tables in HTML, ASCII and CSV formats:
+
+ - `HTML 1t1c NDR comparison <../../_static/vpp/performance-changes-3n-tsh-1t1c-ndr.html>`_
+ - `HTML 2t2c NDR comparison <../../_static/vpp/performance-changes-3n-tsh-2t2c-ndr.html>`_
+ - `ASCII 1t1c NDR comparison <../../_static/vpp/performance-changes-3n-tsh-1t1c-ndr.txt>`_
+ - `ASCII 2t2c NDR comparison <../../_static/vpp/performance-changes-3n-tsh-2t2c-ndr.txt>`_
+ - `CSV 1t1c NDR comparison <../../_static/vpp/performance-changes-3n-tsh-1t1c-ndr.csv>`_
+ - `CSV 2t2c NDR comparison <../../_static/vpp/performance-changes-3n-tsh-2t2c-ndr.csv>`_
+
+ PDR Comparison
+ ``````````````
+
+ Comparison tables in HTML, ASCII and CSV formats:
+
+ - `HTML 1t1c PDR comparison <../../_static/vpp/performance-changes-3n-tsh-1t1c-pdr.html>`_
+ - `HTML 2t2c PDR comparison <../../_static/vpp/performance-changes-3n-tsh-2t2c-pdr.html>`_
+ - `ASCII 1t1c PDR comparison <../../_static/vpp/performance-changes-3n-tsh-1t1c-pdr.txt>`_
+ - `ASCII 2t2c PDR comparison <../../_static/vpp/performance-changes-3n-tsh-2t2c-pdr.txt>`_
+ - `CSV 1t1c PDR comparison <../../_static/vpp/performance-changes-3n-tsh-1t1c-pdr.csv>`_
+ - `CSV 2t2c PDR comparison <../../_static/vpp/performance-changes-3n-tsh-2t2c-pdr.csv>`_
+
+ MRR Comparison
+ ``````````````
+
+ Comparison tables in HTML, ASCII and CSV formats:
+
+ - `HTML 1t1c MRR comparison <../../_static/vpp/performance-changes-3n-tsh-1t1c-mrr.html>`_
+ - `HTML 2t2c MRR comparison <../../_static/vpp/performance-changes-3n-tsh-2t2c-mrr.html>`_
+ - `HTML 4t4c MRR comparison <../../_static/vpp/performance-changes-3n-tsh-4t4c-mrr.html>`_
+ - `ASCII 1t1c MRR comparison <../../_static/vpp/performance-changes-3n-tsh-1t1c-mrr.txt>`_
+ - `ASCII 2t2c MRR comparison <../../_static/vpp/performance-changes-3n-tsh-2t2c-mrr.txt>`_
+ - `ASCII 4t4c MRR comparison <../../_static/vpp/performance-changes-3n-tsh-4t4c-mrr.txt>`_
+ - `CSV 1t1c MRR comparison <../../_static/vpp/performance-changes-3n-tsh-1t1c-mrr.csv>`_
+ - `CSV 2t2c MRR comparison <../../_static/vpp/performance-changes-3n-tsh-2t2c-mrr.csv>`_
+ - `CSV 4t4c MRR comparison <../../_static/vpp/performance-changes-3n-tsh-4t4c-mrr.csv>`_
+
2n-dnv
~~~~~~
NDR Comparison
``````````````
- Comparison tables in ASCII and CSV formats:
+ Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 1t1c NDR comparison <../../_static/vpp/performance-changes-2n-dnv-1t1c-ndr.html>`_
+ - `HTML 2t2c NDR comparison <../../_static/vpp/performance-changes-2n-dnv-2t2c-ndr.html>`_
- `ASCII 1t1c NDR comparison <../../_static/vpp/performance-changes-2n-dnv-1t1c-ndr.txt>`_
- `ASCII 2t2c NDR comparison <../../_static/vpp/performance-changes-2n-dnv-2t2c-ndr.txt>`_
- `CSV 1t1c NDR comparison <../../_static/vpp/performance-changes-2n-dnv-1t1c-ndr.csv>`_
PDR Comparison
``````````````
- Comparison tables in ASCII and CSV formats:
+ Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 1t1c PDR comparison <../../_static/vpp/performance-changes-2n-dnv-1t1c-pdr.html>`_
+ - `HTML 2t2c PDR comparison <../../_static/vpp/performance-changes-2n-dnv-2t2c-pdr.html>`_
- `ASCII 1t1c PDR comparison <../../_static/vpp/performance-changes-2n-dnv-1t1c-pdr.txt>`_
- `ASCII 2t2c PDR comparison <../../_static/vpp/performance-changes-2n-dnv-2t2c-pdr.txt>`_
- `CSV 1t1c PDR comparison <../../_static/vpp/performance-changes-2n-dnv-1t1c-pdr.csv>`_
MRR Comparison
``````````````
- Comparison tables in ASCII and CSV formats:
+ Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 1t1c MRR comparison <../../_static/vpp/performance-changes-2n-dnv-1t1c-mrr.html>`_
+ - `HTML 2t2c MRR comparison <../../_static/vpp/performance-changes-2n-dnv-2t2c-mrr.html>`_
+ - `HTML 4t4c MRR comparison <../../_static/vpp/performance-changes-2n-dnv-4t4c-mrr.html>`_
- `ASCII 1t1c MRR comparison <../../_static/vpp/performance-changes-2n-dnv-1t1c-mrr.txt>`_
- `ASCII 2t2c MRR comparison <../../_static/vpp/performance-changes-2n-dnv-2t2c-mrr.txt>`_
- `ASCII 4t4c MRR comparison <../../_static/vpp/performance-changes-2n-dnv-4t4c-mrr.txt>`_
- `CSV 1t1c MRR comparison <../../_static/vpp/performance-changes-2n-dnv-1t1c-mrr.csv>`_
- `CSV 2t2c MRR comparison <../../_static/vpp/performance-changes-2n-dnv-2t2c-mrr.csv>`_
- `CSV 4t4c MRR comparison <../../_static/vpp/performance-changes-2n-dnv-4t4c-mrr.csv>`_
+
+ 3n-dnv
+ ~~~~~~
+
+ NDR Comparison
+ ``````````````
+
+ Comparison tables in HTML, ASCII and CSV formats:
+
+ - `HTML 1t1c NDR comparison <../../_static/vpp/performance-changes-3n-dnv-1t1c-ndr.html>`_
+ - `HTML 2t2c NDR comparison <../../_static/vpp/performance-changes-3n-dnv-2t2c-ndr.html>`_
+ - `ASCII 1t1c NDR comparison <../../_static/vpp/performance-changes-3n-dnv-1t1c-ndr.txt>`_
+ - `ASCII 2t2c NDR comparison <../../_static/vpp/performance-changes-3n-dnv-2t2c-ndr.txt>`_
+ - `CSV 1t1c NDR comparison <../../_static/vpp/performance-changes-3n-dnv-1t1c-ndr.csv>`_
+ - `CSV 2t2c NDR comparison <../../_static/vpp/performance-changes-3n-dnv-2t2c-ndr.csv>`_
+
+ PDR Comparison
+ ``````````````
+
+ Comparison tables in HTML, ASCII and CSV formats:
+
+ - `HTML 1t1c PDR comparison <../../_static/vpp/performance-changes-3n-dnv-1t1c-pdr.html>`_
+ - `HTML 2t2c PDR comparison <../../_static/vpp/performance-changes-3n-dnv-2t2c-pdr.html>`_
+ - `ASCII 1t1c PDR comparison <../../_static/vpp/performance-changes-3n-dnv-1t1c-pdr.txt>`_
+ - `ASCII 2t2c PDR comparison <../../_static/vpp/performance-changes-3n-dnv-2t2c-pdr.txt>`_
+ - `CSV 1t1c PDR comparison <../../_static/vpp/performance-changes-3n-dnv-1t1c-pdr.csv>`_
+ - `CSV 2t2c PDR comparison <../../_static/vpp/performance-changes-3n-dnv-2t2c-pdr.csv>`_
+
+ MRR Comparison
+ ``````````````
+
+ Comparison tables in HTML, ASCII and CSV formats:
+
+ - `HTML 1t1c MRR comparison <../../_static/vpp/performance-changes-3n-dnv-1t1c-mrr.html>`_
+ - `HTML 2t2c MRR comparison <../../_static/vpp/performance-changes-3n-dnv-2t2c-mrr.html>`_
+ - `HTML 4t4c MRR comparison <../../_static/vpp/performance-changes-3n-dnv-4t4c-mrr.html>`_
+ - `ASCII 1t1c MRR comparison <../../_static/vpp/performance-changes-3n-dnv-1t1c-mrr.txt>`_
+ - `ASCII 2t2c MRR comparison <../../_static/vpp/performance-changes-3n-dnv-2t2c-mrr.txt>`_
+ - `ASCII 4t4c MRR comparison <../../_static/vpp/performance-changes-3n-dnv-4t4c-mrr.txt>`_
+ - `CSV 1t1c MRR comparison <../../_static/vpp/performance-changes-3n-dnv-1t1c-mrr.csv>`_
+ - `CSV 2t2c MRR comparison <../../_static/vpp/performance-changes-3n-dnv-2t2c-mrr.csv>`_
+ - `CSV 4t4c MRR comparison <../../_static/vpp/performance-changes-3n-dnv-4t4c-mrr.csv>`_
NDR Comparison
``````````````
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 2t1c NDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-3n-skx-2t1c-nics-ndr.html>`_
+ - `HTML 4t2c NDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-3n-skx-4t2c-nics-ndr.html>`_
- `ASCII 2t1c NDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-3n-skx-2t1c-nics-ndr.txt>`_
- `ASCII 4t2c NDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-3n-skx-4t2c-nics-ndr.txt>`_
- `CSV 2t1c NDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-3n-skx-2t1c-nics-ndr.csv>`_
PDR Comparison
``````````````
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 2t1c PDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-3n-skx-2t1c-nics-pdr.html>`_
+ - `HTML 4t2c PDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-3n-skx-4t2c-nics-pdr.html>`_
- `ASCII 2t1c PDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-3n-skx-2t1c-nics-pdr.txt>`_
- `ASCII 4t2c PDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-3n-skx-4t2c-nics-pdr.txt>`_
- `CSV 2t1c PDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-3n-skx-2t1c-nics-pdr.csv>`_
MRR Comparison
``````````````
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 2t1c MRR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-3n-skx-2t1c-nics-mrr.html>`_
+ - `HTML 4t2c MRR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-3n-skx-4t2c-nics-mrr.html>`_
+ - `HTML 8t4c MRR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-3n-skx-8t4c-nics-mrr.html>`_
- `ASCII 2t1c MRR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-3n-skx-2t1c-nics-mrr.txt>`_
- `ASCII 4t2c MRR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-3n-skx-4t2c-nics-mrr.txt>`_
- `ASCII 8t4c MRR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-3n-skx-8t4c-nics-mrr.txt>`_
NDR Comparison
``````````````
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 2t1c NDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-2n-skx-2t1c-nics-ndr.html>`_
+ - `HTML 4t2c NDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-2n-skx-4t2c-nics-ndr.html>`_
- `ASCII 2t1c NDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-2n-skx-2t1c-nics-ndr.txt>`_
- `ASCII 4t2c NDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-2n-skx-4t2c-nics-ndr.txt>`_
- `CSV 2t1c NDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-2n-skx-2t1c-nics-ndr.csv>`_
PDR Comparison
``````````````
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 2t1c PDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-2n-skx-2t1c-nics-pdr.html>`_
+ - `HTML 4t2c PDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-2n-skx-4t2c-nics-pdr.html>`_
- `ASCII 2t1c PDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-2n-skx-2t1c-nics-pdr.txt>`_
- `ASCII 4t2c PDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-2n-skx-4t2c-nics-pdr.txt>`_
- `CSV 2t1c PDR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-2n-skx-2t1c-nics-pdr.csv>`_
MRR Comparison
``````````````
-Comparison tables in ASCII and CSV formats:
+Comparison tables in HTML, ASCII and CSV formats:
+ - `HTML 2t1c MRR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-2n-skx-2t1c-nics-mrr.html>`_
+ - `HTML 4t2c MRR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-2n-skx-4t2c-nics-mrr.html>`_
+ - `HTML 8t4c MRR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-2n-skx-8t4c-nics-mrr.html>`_
- `ASCII 2t1c MRR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-2n-skx-2t1c-nics-mrr.txt>`_
- `ASCII 4t2c MRR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-2n-skx-4t2c-nics-mrr.txt>`_
- `ASCII 8t4c MRR Intel-x710 and Intel-xxv710 comparison <../../_static/vpp/performance-changes-2n-skx-8t4c-nics-mrr.txt>`_
import csv
import re
+import plotly.graph_objects as go
+import plotly.offline as ploff
+import pandas as pd
+
from string import replace
from collections import OrderedDict
from numpy import nan, isnan
return table
+def _tpc_generate_html_table(header, data, output_file_name):
+ """Generate html table from input data with simple sorting possibility.
+
+ :param header: Table header.
+ :param data: Input data to be included in the table. It is a list of lists.
+ Inner lists are rows in the table. All inner lists must be of the same
+ length. The length of these lists must be the same as the length of the
+ header.
+ :param output_file_name: The name (relative or full path) where the
+ generated html table is written.
+ :type header: list
+ :type data: list of lists
+ :type output_file_name: str
+ """
+
+ df = pd.DataFrame(data, columns=header)
+
+ df_sorted = [df.sort_values(
+ by=[key, header[0]], ascending=[True, True]
+ if key != header[0] else [False, True]) for key in header]
+ df_sorted_rev = [df.sort_values(
+ by=[key, header[0]], ascending=[False, True]
+ if key != header[0] else [True, True]) for key in header]
+ df_sorted.extend(df_sorted_rev)
+
+ fill_color = [["#d4e4f7" if idx % 2 else "#e9f1fb"
+ for idx in range(len(df))]]
+ table_header = dict(
+ values=["<b>{item}</b>".format(item=item) for item in header],
+ fill_color="#7eade7",
+ align=["left", "center"]
+ )
+
+ fig = go.Figure()
+
+ for table in df_sorted:
+ columns = [table.get(col) for col in header]
+ fig.add_trace(
+ go.Table(
+ columnwidth=[30, 10],
+ header=table_header,
+ cells=dict(
+ values=columns,
+ fill_color=fill_color,
+ align=["left", "right"]
+ )
+ )
+ )
+
+ buttons = list()
+ menu_items = ["<b>{0}</b> (ascending)".format(itm) for itm in header]
+ menu_items_rev = ["<b>{0}</b> (descending)".format(itm) for itm in header]
+ menu_items.extend(menu_items_rev)
+ for idx, hdr in enumerate(menu_items):
+ visible = [False, ] * len(menu_items)
+ visible[idx] = True
+ buttons.append(
+ dict(
+ label=hdr.replace(" [Mpps]", ""),
+ method="update",
+ args=[{"visible": visible}],
+ )
+ )
+
+ fig.update_layout(
+ updatemenus=[
+ go.layout.Updatemenu(
+ type="dropdown",
+ direction="down",
+ x=0.03,
+ xanchor="left",
+ y=1.045,
+ yanchor="top",
+ active=len(menu_items) - 1,
+ buttons=list(buttons)
+ )
+ ],
+ annotations=[
+ go.layout.Annotation(
+ text="<b>Sort by:</b>",
+ x=0,
+ xref="paper",
+ y=1.035,
+ yref="paper",
+ align="left",
+ showarrow=False
+ )
+ ]
+ )
+
+ ploff.plot(fig, show_link=False, auto_open=False, filename=output_file_name)
+
+
def table_performance_comparison(table, input_data):
"""Generate the table(s) with algorithm: table_performance_comparison
specified in the specification file.
# Prepare data to the table:
tbl_dict = dict()
+ topo = ""
for job, builds in table["reference"]["data"].items():
topo = "2n-skx" if "2n-skx" in job else ""
for build in builds:
continue
if tbl_dict[tst_name_mod].get("history", None) is None:
tbl_dict[tst_name_mod]["history"] = OrderedDict()
- if tbl_dict[tst_name_mod]["history"].get(item["title"],
- None) is None:
+ if tbl_dict[tst_name_mod]["history"].\
+ get(item["title"], None) is None:
tbl_dict[tst_name_mod]["history"][item["title"]] = \
list()
try:
# TODO: Re-work when NDRPDRDISC tests are not used
if table["include-tests"] == "MRR":
- tbl_dict[tst_name_mod]["history"][item["title"
- ]].append(tst_data["result"]["receive-rate"].
- avg)
+ tbl_dict[tst_name_mod]["history"][item[
+ "title"]].append(tst_data["result"][
+ "receive-rate"].avg)
elif table["include-tests"] == "PDR":
if tst_data["type"] == "PDR":
tbl_dict[tst_name_mod]["history"][
elif tst_data["type"] == "NDRPDR":
tbl_dict[tst_name_mod]["history"][item[
"title"]].append(tst_data["throughput"][
- "PDR"]["LOWER"])
+ "PDR"]["LOWER"])
elif table["include-tests"] == "NDR":
if tst_data["type"] == "NDR":
tbl_dict[tst_name_mod]["history"][
elif tst_data["type"] == "NDRPDR":
tbl_dict[tst_name_mod]["history"][item[
"title"]].append(tst_data["throughput"][
- "NDR"]["LOWER"])
+ "NDR"]["LOWER"])
else:
continue
except (TypeError, KeyError):
"tests. See release notes."
])
+ # Generate html table:
+ _tpc_generate_html_table(header, tbl_lst,
+ "{0}.html".format(table["output-file"]))
+
def table_performance_comparison_nic(table, input_data):
"""Generate the table(s) with algorithm: table_performance_comparison
# Prepare data to the table:
tbl_dict = dict()
+ topo = ""
for job, builds in table["reference"]["data"].items():
topo = "2n-skx" if "2n-skx" in job else ""
for build in builds:
continue
if tbl_dict[tst_name_mod].get("history", None) is None:
tbl_dict[tst_name_mod]["history"] = OrderedDict()
- if tbl_dict[tst_name_mod]["history"].get(item["title"],
- None) is None:
+ if tbl_dict[tst_name_mod]["history"].\
+ get(item["title"], None) is None:
tbl_dict[tst_name_mod]["history"][item["title"]] = \
list()
try:
# TODO: Re-work when NDRPDRDISC tests are not used
if table["include-tests"] == "MRR":
- tbl_dict[tst_name_mod]["history"][item["title"
- ]].append(tst_data["result"]["receive-rate"].
- avg)
+ tbl_dict[tst_name_mod]["history"][item[
+ "title"]].append(tst_data["result"][
+ "receive-rate"].avg)
elif table["include-tests"] == "PDR":
if tst_data["type"] == "PDR":
tbl_dict[tst_name_mod]["history"][
elif tst_data["type"] == "NDRPDR":
tbl_dict[tst_name_mod]["history"][item[
"title"]].append(tst_data["throughput"][
- "PDR"]["LOWER"])
+ "PDR"]["LOWER"])
elif table["include-tests"] == "NDR":
if tst_data["type"] == "NDR":
tbl_dict[tst_name_mod]["history"][
elif tst_data["type"] == "NDRPDR":
tbl_dict[tst_name_mod]["history"][item[
"title"]].append(tst_data["throughput"][
- "NDR"]["LOWER"])
+ "NDR"]["LOWER"])
else:
continue
except (TypeError, KeyError):
"tests. See release notes."
])
+ # Generate html table:
+ _tpc_generate_html_table(header, tbl_lst,
+ "{0}.html".format(table["output-file"]))
+
def table_nics_comparison(table, input_data):
"""Generate the table(s) with algorithm: table_nics_comparison
convert_csv_to_pretty_txt(csv_file, "{0}.txt".format(table["output-file"]))
+ # Generate html table:
+ _tpc_generate_html_table(header, tbl_lst,
+ "{0}.html".format(table["output-file"]))
+
def table_soak_vs_ndr(table, input_data):
"""Generate the table(s) with algorithm: table_soak_vs_ndr
convert_csv_to_pretty_txt(csv_file, "{0}.txt".format(table["output-file"]))
+ # Generate html table:
+ _tpc_generate_html_table(header, tbl_lst,
+ "{0}.html".format(table["output-file"]))
+
def table_performance_trending_dashboard(table, input_data):
"""Generate the table(s) with algorithm:
if classification_lst:
if isnan(rel_change_last) and isnan(rel_change_long):
continue
- if (isnan(last_avg) or
- isnan(rel_change_last) or
- isnan(rel_change_long)):
+ if isnan(last_avg) or isnan(rel_change_last) or \
+ isnan(rel_change_long):
continue
tbl_lst.append(
[tbl_dict[tst_name]["name"],
tbl_lst = list()
for tst_data in tbl_dict.values():
fails_nr = 0
+ fails_last_date = ""
+ fails_last_vpp = ""
+ fails_last_csit = ""
for val in tst_data["data"].values():
if val[0] == "FAIL":
fails_nr += 1