From 0db86b8619883c0cbaf36150c3622c9d78d82d12 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Mon, 30 Jul 2018 13:57:14 +0200 Subject: Improve ice40/benchmark Signed-off-by: Clifford Wolf --- ice40/benchmark/report.ipynb | 40 +++++++++++++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 9 deletions(-) (limited to 'ice40/benchmark/report.ipynb') diff --git a/ice40/benchmark/report.ipynb b/ice40/benchmark/report.ipynb index 3232f38c..b4e03283 100644 --- a/ice40/benchmark/report.ipynb +++ b/ice40/benchmark/report.ipynb @@ -11,36 +11,58 @@ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", - "import subprocess\n", + "import subprocess, re\n", "\n", "gitrev = subprocess.getoutput(\"git rev-parse --short HEAD\")\n", "\n", - "data_a = 1 + np.zeros(10)\n", - "data_n = 1 + np.zeros(10)\n", + "data_a = np.zeros((10, 2))\n", + "data_n = np.zeros((10, 2))\n", "\n", "for i in range(10):\n", " try:\n", " with open(\"report_a%d.txt\" % i, \"r\") as f:\n", " for line in f:\n", " if line.startswith(\"Total path delay:\"):\n", - " data_a[i] = float(line.split()[3])\n", + " data_a[i, 0] = float(line.split()[3])\n", " except:\n", - " pass\n", + " data_a[i, 0] = 1.0\n", + " \n", " try:\n", " with open(\"report_n%d.txt\" % i, \"r\") as f:\n", " for line in f:\n", " if line.startswith(\"Total path delay:\"):\n", - " data_n[i] = float(line.split()[3])\n", + " data_n[i, 0] = float(line.split()[3])\n", " except:\n", - " pass\n", + " data_n[i, 0] = 1.0\n", + " \n", + " with open(\"hx8kdemo_a%d.log\" % i, \"r\") as f:\n", + " for line in f:\n", + " match = re.match(r\"real\\s+(\\d+)m(\\d+)\", line)\n", + " if match:\n", + " data_a[i, 1] = float(match.group(1)) + float(match.group(2))/60\n", + " \n", + " with open(\"hx8kdemo_n%d.log\" % i, \"r\") as f:\n", + " for line in f:\n", + " match = re.match(r\"real\\s+(\\d+)m(\\d+)\", line)\n", + " if match:\n", + " data_n[i, 1] = float(match.group(1)) + float(match.group(2))/60\n", "\n", "plt.figure(figsize=(9,3))\n", "plt.title(\"nextpnr -- ice40/benchmark/ -- %s\" % gitrev)\n", - "plt.bar(np.arange(10), data_a, color='blue')\n", - "plt.bar(15+np.arange(10), data_n, color='red')\n", + "plt.bar(np.arange(10), data_a[:, 0], color='blue')\n", + "plt.bar(15+np.arange(10), data_n[:, 0], color='red')\n", "plt.ylabel('Longest path (ns)')\n", "plt.xticks([5, 20], [\"arachne-pnr\", \"nextpnr\"])\n", "plt.xlim(-2, 27)\n", + "plt.show()\n", + "\n", + "plt.figure(figsize=(9,3))\n", + "plt.title(\"nextpnr -- ice40/benchmark/ -- %s\" % gitrev)\n", + "plt.bar(np.arange(10), data_a[:, 1], color='blue')\n", + "plt.bar(15+np.arange(10), data_n[:, 1], color='red')\n", + "plt.ylabel('Runtime (minutes)')\n", + "plt.xticks([5, 20], [\"arachne-pnr\", \"nextpnr\"])\n", + "plt.xlim(-2, 27)\n", "plt.show()" ] } -- cgit v1.2.3