aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Sato <shinnya.sato@gmail.com>2022-08-28 20:42:08 +0900
committerShinya Sato <shinnya.sato@gmail.com>2022-08-28 20:42:08 +0900
commitb850b9d9e64c12a927bfc2692b4134b23ef79be5 (patch)
treed4a345ec3cf0bcaccf1ac293cd6ad50802bf9224
parent02a84743ddf5c8c27a36c4d5a20eaf3cd2a9aff4 (diff)
downloadinpla-b850b9d9e64c12a927bfc2692b4134b23ef79be5.tar.gz
inpla-b850b9d9e64c12a927bfc2692b4134b23ef79be5.zip
Update the speed-up ratio graph
-rw-r--r--README.md27
-rw-r--r--pic/benchmark_reuse_v0.9.2-3.pngbin0 -> 38717 bytes
2 files changed, 14 insertions, 13 deletions
diff --git a/README.md b/README.md
index 623af17..81b718e 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@ Inpla is a multi-threaded parallel interpreter of interaction nets. Once you wri
* The current version is 0.9.2-3 (bugfix mainly), released on **22 August 2022**. (See [Changelog.md](Changelog.md) for details.)
* The below graph shows speed-up ratio to threads numbers for programs in the following benchmark table.
-![speedup-ratio](pic/benchmark_reuse_v0.8.2-2.png)
+![speedup-ratio](pic/benchmark_reuse_v0.9.2-3.png)
- **Comparison in execution time** with other implementations: **Haskell** (GHC version 8.10.7), **OCaml** (ocamlopt, the native-code compiler, version 4.08.1), **Standard ML of New Jersey** v110.74 (interpreter mode) and **Python** 3.8.5 in execution time.
@@ -17,14 +17,13 @@ Inpla is a multi-threaded parallel interpreter of interaction nets. Once you wri
| | Haskell | OCaml | SML | Python | Inpla8 | Inpla8r |
| -------------- | :------: | :------: | :----: | :----: | :------: | :------: |
-| ack(3,11) | [2.30](comparison/Haskell/ack3-11.hs) | [0.46](comparison/OCaml/ack3_11.ml) | [**0.43**](comparison/SML/ack3-11.sml) | [-](comparison/Python/ack3-11.py) | [0.86](comparison/Inpla/src/ack-stream_3-11.in) | [0.71](comparison/Inpla/src/ack-stream_3-11-reuse.in) |
-| fib 38 | [1.60](comparison/Haskell/fib38.hs) | [**0.15**](comparison/OCaml/fib38.ml) | [0.27](comparison/SML/fib38.sml) | [8.88](comparison/Python/fib38.py) | [0.40](comparison/Inpla/src/fib-38.in) | [0.43](comparison/Inpla/src/fib-38-reuse.in) |
-| bsort 20000 | [4.98](comparison/Haskell/bsort-40000.hs) | [6.78](comparison/OCaml/bsort40000.ml) | [2.38](comparison/SML/bsort-40000.sml) | [19.91](comparison/Python/bsort-40000.py) | [2.16](comparison/Inpla/src/bsort-20000.in) | [**1.58**](comparison/Inpla/src/bsort-20000-reuse.in) |
-| isort 20000 | [2.15](comparison/Haskell/isort-40000.hs) | [1.52](comparison/OCaml/isort40000.ml) | [0.60](comparison/SML/isort-40000.sml) | [9.58](comparison/Python/isort-40000.py) | [**0.29**](comparison/Inpla/src/isort-40000.in) | [0.33](comparison/Inpla/src/isort-40000-reuse.in) |
-| qsort 260000 | [0.34](comparison/Haskell/qsort-800000.hs) | [0.25](comparison/OCaml/qsort800000.ml) | [0.27](comparison/SML/qsort-800000.sml) | [10.40](comparison/Python/qsort-800000.py) | [0.15](comparison/Inpla/src/qsort-800000.in) | [**0.11**](comparison/Inpla/src/qsort-800000-reuse.in) |
-| msort 260000 | [0.39](comparison/Haskell/msort-800000.hs) | [0.29](comparison/OCaml/msort800000.ml) | [0.26](comparison/SML/msort-800000.sml) | [10.96](comparison/Python/msort-800000.py) | [**0.15**](comparison/Inpla/src/msort-800000.in) | [**0.15**](comparison/Inpla/src/msort-800000-reuse.in) |
-
-
+| n-queens 12 | [**0.23**](comparison/Haskell/nqueen-12.hs) | [0.44](comparison/OCaml/nqueen12.ml) | [0.60](comparison/SML/ack3-11.sml) | [3.85](comparison/Python/nqueen-12.py) | [0.53](comparison/Inpla/src/nqueen-12.in) | [0.36](comparison/Inpla/src/nqueen-12-reuse.in) |
+| ack(3,11) | [2.36](comparison/Haskell/ack3-11.hs) | [0.57](comparison/OCaml/ack3_11.ml) | [**0.41**](comparison/SML/ack3-11.sml) | [-](comparison/Python/ack3-11.py) | [0.90](comparison/Inpla/src/ack-stream_3-11.in) | [0.71](comparison/Inpla/src/ack-stream_3-11-reuse.in) |
+| fib 38 | [1.61](comparison/Haskell/fib-38.hs) | [**0.15**](comparison/OCaml/fib38.ml) | [0.27](comparison/SML/fib-38.sml) | [9.03](comparison/Python/fib-38.py) | [0.42](comparison/Inpla/src/fib-38.in) | [0.46](comparison/Inpla/src/fib-38-reuse.in) |
+| bsort 20000 | [4.98](comparison/Haskell/bsort-20000.hs) | [6.44](comparison/OCaml/bsort20000.ml) | [2.38](comparison/SML/bsort-20000.sml) | [20.64](comparison/Python/bsort-20000.py) | [2.26](comparison/Inpla/src/bsort-20000.in) | [**1.60**](comparison/Inpla/src/bsort-20000-reuse.in) |
+| isort 20000 | [2.18](comparison/Haskell/isort-20000.hs) | [1.48](comparison/OCaml/isort20000.ml) | [0.59](comparison/SML/isort-20000.sml) | [9.20](comparison/Python/isort-20000.py) | [**0.30**](comparison/Inpla/src/isort-20000.in) | [0.34](comparison/Inpla/src/isort-20000-reuse.in) |
+| qsort 260000 | [0.32](comparison/Haskell/qsort-800000.hs) | [0.22](comparison/OCaml/qsort260000.ml) | [0.27](comparison/SML/qsort-260000.sml) | [15.03](comparison/Python/qsort-260000.py) | [0.15](comparison/Inpla/src/qsort-260000.in) | [**0.12**](comparison/Inpla/src/qsort-260000-reuse.in) |
+| msort 260000 | [0.38](comparison/Haskell/msort-800000.hs) | [0.17](comparison/OCaml/msort260000.ml) | [0.28](comparison/SML/msort-260000.sml) | [15.57](comparison/Python/msort-260000.py) | [**0.15**](comparison/Inpla/src/msort-260000.in) | [**0.15**](comparison/Inpla/src/msort-260000-reuse.in) |
@@ -32,6 +31,8 @@ Inpla is a multi-threaded parallel interpreter of interaction nets. Once you wri
- Inpla8 and Inpla8r mean 8 threads without/with [reuse-annotated](./Gentle_introduction_Inpla.md#reuse-annotations) execution, respectively.
+ - "n-queens 12" is computation of n-Queens at 12.
+
- "ack(3,11)" is computation of Ackermann function. Execution time of Python is a blank due to stack size limitation error.
- "fib 38" is computation to get the 38th Fibonacci number.
@@ -80,7 +81,7 @@ Inpla is a multi-threaded parallel interpreter of interaction nets. Once you wri
```
$ ./inpla
- Inpla 0.8.0 : Interaction nets as a programming language [built: 27 Feb. 2022]
+ Inpla 0.9.2-3 : Interaction nets as a programming language [built: 22 August 2022]
>>>
```
@@ -137,7 +138,7 @@ Inpla is a multi-threaded parallel interpreter of interaction nets. Once you wri
```
$ ./inpla -f sample/gcd.in
- Inpla 0.8.0 : Interaction nets as a programming language [built: 27 Feb. 2022]
+ Inpla 0.9.2-3 : Interaction nets as a programming language [built: 22 August 2022]
(4 interactions, 0.00 sec)
7
@@ -170,7 +171,7 @@ Inpla is a multi-threaded parallel interpreter of interaction nets. Once you wri
```
$ ./inpla -f sample/isort.in
- Inpla 0.8.0 : Interaction nets as a programming language [built: 27 Feb. 2022]
+ Inpla 0.9.2-3 : Interaction nets as a programming language [built: 22 August 2022]
(16 interactions, 0.00 sec)
[1,2,3,6,9]
@@ -240,7 +241,7 @@ Inpla is a multi-threaded parallel interpreter of interaction nets. Once you wri
```
$ ./inpla -f sample/qsort.in
- Inpla 0.8.0 : Interaction nets as a programming language [built: 27 Feb. 2022]
+ Inpla 0.9.2-3 : Interaction nets as a programming language [built: 22 August 2022]
(22 interactions, 0.00 sec)
[1,2,3,6,9]
diff --git a/pic/benchmark_reuse_v0.9.2-3.png b/pic/benchmark_reuse_v0.9.2-3.png
new file mode 100644
index 0000000..66d9844
--- /dev/null
+++ b/pic/benchmark_reuse_v0.9.2-3.png
Binary files differ