-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
threads = dict({idx: list() for idx in range(len(runtime))})
for idx, run_data in runtime.items():
for gnode, gdata in run_data.items():
- if gdata[u"vectors"] > 0:
- clocks = gdata[u"clocks"] / gdata[u"vectors"]
- elif gdata[u"calls"] > 0:
- clocks = gdata[u"clocks"] / gdata[u"calls"]
- elif gdata[u"suspends"] > 0:
- clocks = gdata[u"clocks"] / gdata[u"suspends"]
- else:
- clocks = 0.0
- if gdata[u"calls"] > 0:
- vectors_call = gdata[u"vectors"] / gdata[u"calls"]
- else:
- vectors_call = 0.0
- if int(gdata[u"calls"]) + int(gdata[u"vectors"]) + \
- int(gdata[u"suspends"]):
- threads[idx].append([
- gnode,
- int(gdata[u"calls"]),
- int(gdata[u"vectors"]),
- int(gdata[u"suspends"]),
- clocks,
- vectors_call
- ])
+ threads[idx].append([
+ gnode,
+ int(gdata[u"calls"]),
+ int(gdata[u"vectors"]),
+ int(gdata[u"suspends"]),
+ float(gdata[u"clocks"]),
+ float(gdata[u"vectors"] / gdata[u"calls"]) \
+ if gdata[u"calls"] else 0.0
+ ])
bold = ET.SubElement(tcol, u"b")
bold.text = (
driver = u"l3fwd"
elif u"avf" in test_name:
driver = u"avf"
+ elif u"af-xdp" in test_name or u"af_xdp" in test_name:
+ driver = u"af_xdp"
elif u"rdma" in test_name:
driver = u"rdma"
elif u"dnv" in testbed or u"tsh" in testbed:
else:
if idx < len(cols):
new_itm = (
- f"{round(float(itm[u'mean']) / 1e6, 1)} "
- f"\u00B1{round(float(itm[u'stdev']) / 1e6, 1)}".
+ f"{round(float(itm[u'mean']) / 1e6, 2)} "
+ f"\u00B1{round(float(itm[u'stdev']) / 1e6, 2)}".
replace(u"nan", u"NaN")
)
else:
new_itm = (
- f"{round(float(itm[u'mean']) / 1e6, 1):+} "
- f"\u00B1{round(float(itm[u'stdev']) / 1e6, 1)}".
+ f"{round(float(itm[u'mean']) / 1e6, 2):+} "
+ f"\u00B1{round(float(itm[u'stdev']) / 1e6, 2)}".
replace(u"nan", u"NaN")
)
if len(new_itm.rsplit(u" ", 1)[-1]) > max_lens[idx]: