commit d3582536d69cc0c1a5346f0e690066dd46ee39db
parent c92cb0420871e44d59f214a862e5afcd2378ce69
Author: Tomas Hlavaty <tom@logand.com>
Date: Fri, 22 Oct 2010 01:51:37 +0200
added fibo40int2.java fibo40int3.java and results updated
Diffstat:
4 files changed, 42 insertions(+), 8 deletions(-)
diff --git a/Makefile b/Makefile
@@ -1,4 +1,4 @@
-all: fibo40 ofibo40 fibo40int.class fibo40.class
+all: fibo40 ofibo40 fibo40int.class fibo40int2.class fibo40int3.class fibo40.class
.c.l:
@@ -11,6 +11,12 @@ ofibo40: ofibo40.m
fibo40int.class: fibo40int.java
javac fibo40int.java
+fibo40int2.class: fibo40int2.java
+ javac fibo40int2.java
+
+fibo40int3.class: fibo40int3.java
+ javac fibo40int3.java
+
fibo40.class: fibo40.java
javac fibo40.java
@@ -27,7 +33,9 @@ bench:
time ./fibo40
time ./ofibo40
time java fibo40int
+ time java fibo40int2
+ time java fibo40int3
time java fibo40
clean:
- rm -f *~ *.o fibo40 ofibo40 fibo40int.class fibo40.class
+ rm -f *~ *.o *.class fibo40 ofibo40
diff --git a/README b/README
@@ -1,8 +1,8 @@
-*- org -*-
-| | pil64 | lua | luajit | java big | gcc -O2 | gobjc | java int |
-| | 3.0.4 | 5.1 | 2.0.0 | IcedTea6 1.8.1 | 4.4.3 | | |
-|---------+-------+-------+--------+----------------+---------+-------+----------|
-| fibo 25 | 0.02 | 0.02 | 0.01 | | | | |
-| fibo 30 | 0.16 | 0.18 | 0.08 | | | | |
-| fibo 40 | 19.54 | 22.32 | 8.78 | 22.12 | 1.30 | 3.35 | 0.85 |
+| | pil64 | lua | luajit | java big | gcc -O2 | gobjc | java int | java int2 | java int3 |
+| | 3.0.4 | 5.1 | 2.0.0 | IcedTea6 1.8.1 | 4.4.3 | | | | |
+|---------+-------+-------+--------+----------------+---------+-------+----------+-----------+-----------|
+| fibo 25 | 0.02 | 0.02 | 0.01 | | | | | | |
+| fibo 30 | 0.16 | 0.18 | 0.08 | | | | | | |
+| fibo 40 | 19.54 | 22.32 | 8.78 | 22.12 | 1.30 | 3.35 | 0.85 | 0.78 | 0.83 |
diff --git a/fibo40int2.java b/fibo40int2.java
@@ -0,0 +1,11 @@
+class fibo40int2 {
+
+ int fibo(int n) {
+ if(n < 3) return n;
+ else return fibo(n - 1) + fibo(n - 2);
+ }
+
+ public static void main(String args[]) {
+ System.out.println(new fibo40int2().fibo(40));
+ }
+}
diff --git a/fibo40int3.java b/fibo40int3.java
@@ -0,0 +1,15 @@
+class fibo40int3 {
+
+ interface Fibo {
+ int fibo(int n);
+ }
+
+ public static void main(String args[]) {
+ System.out.println(new Fibo() {
+ public int fibo(int n) {
+ if(n < 3) return n;
+ else return fibo(n - 1) + fibo(n - 2);
+ }
+ }.fibo(40));
+ }
+}