Commit 164cd109 authored by Maxime Perrotin's avatar Maxime Perrotin
Browse files

Merge pull request #24 from dbrabera/extended_benchmark_summary

Extended benchmark summary
parents 9dfbd68f 6635e8eb
...@@ -55,8 +55,8 @@ You need to install the following dependencies before you can run Opengeode: ...@@ -55,8 +55,8 @@ You need to install the following dependencies before you can run Opengeode:
- gnat - if you want to build the code you generate in Ada - gnat - if you want to build the code you generate in Ada
$ sudo apt-get install gnat $ sudo apt-get install gnat
- llvmpy (tested with 0.12.4) - llvmpy and LLVM (tested with llvmpy 0.12.4 and LLVM 3.3)
Follow the instructions here: http://www.llvmpy.org/llvmpy-doc/0.12.4/doc/getting_started.html#installation Follow the instructions here: http://www.llvmpy.org/llvmpy-doc/0.12.7/doc/getting_started.html#installation
To make a static binary on Linux with pyinstaller 2.0: To make a static binary on Linux with pyinstaller 2.0:
......
...@@ -53,7 +53,8 @@ Apart from pygraphviz, all of them exist for Linux, Windows, FreeBSD, and most l ...@@ -53,7 +53,8 @@ Apart from pygraphviz, all of them exist for Linux, Windows, FreeBSD, and most l
- ASN1SCC - ASN1SCC
- (optional) GNAT to build the generated Ada code - (optional) GNAT to build the generated Ada code
- mono - mono
- llvmpy for the LLVM backend (tested with 0.12.4) - llvmpy (tested with 0.12.7)
- LLVM (tested with 3.3)
On Debian, Ubuntu, and probably other distributions: On Debian, Ubuntu, and probably other distributions:
...@@ -79,7 +80,7 @@ Check that it works: ...@@ -79,7 +80,7 @@ Check that it works:
$ asn1.exe $ asn1.exe
``` ```
To install llvmpy follow the instructions [here](http://www.llvmpy.org/llvmpy-doc/0.12.4/doc/getting_started.html#installation) To install llvmpy and LLVM follow the instructions [here](http://www.llvmpy.org/llvmpy-doc/0.12.7/doc/getting_started.html#installation)
OpenGEODE installation OpenGEODE installation
---------------------- ----------------------
......
...@@ -74,15 +74,18 @@ def summarize(results, errors, elapsed): ...@@ -74,15 +74,18 @@ def summarize(results, errors, elapsed):
print "Time: Ada %.2f%% LLVM %.2f%%" % diff([r["time"] for r in results]) print "Time: Ada %.2f%% LLVM %.2f%%" % diff([r["time"] for r in results])
print "" print ""
headers = ["Benchmark", "Ada size", "LLVM size", "Ada time", "LLVM time"] headers = ["Benchmark", "Ada size (B)", "LLVM size (B)", "Ada time (us)", "LLVM time (us)"]
table = [] table = []
for result in results: for result in results:
row = [result["name"]] table.append([
row.extend(diff([result["size"]])) result["name"],
row.extend(diff([result["time"]])) result["size"]["ada"],
table.append(row) result["size"]["llvm"],
int(round(result["time"]["ada"] * (10 ** 6))),
print tabulate(table, headers, tablefmt="orgtbl", floatfmt=".2f") int(round(result["time"]["llvm"] * (10 ** 6))),
])
print tabulate(table, headers, tablefmt="orgtbl")
return 0 if results and not errors else 1 return 0 if results and not errors else 1
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment