about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEric Holk <eric.holk@gmail.com>2012-08-01 15:28:28 -0700
committerEric Holk <eric.holk@gmail.com>2012-08-02 18:55:44 -0700
commitf76a46242b6a34ac09643ddf4050be9d1ad11573 (patch)
tree983a2e176b7b306d902932e2f9a7e0fe1d456d0d
parent1d04b0ed5ac829594a412298cb9f9455d1a4d843 (diff)
downloadrust-f76a46242b6a34ac09643ddf4050be9d1ad11573.tar.gz
rust-f76a46242b6a34ac09643ddf4050be9d1ad11573.zip
Convert pfib to pipes. This is a useful stress test.
-rw-r--r--src/test/bench/shootout-pfib.rs24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/test/bench/shootout-pfib.rs b/src/test/bench/shootout-pfib.rs
index 2d2f9377820..5b309659ee5 100644
--- a/src/test/bench/shootout-pfib.rs
+++ b/src/test/bench/shootout-pfib.rs
@@ -15,10 +15,10 @@ use std;
 import std::{time, getopts};
 import io::writer_util;
 import int::range;
-import comm::port;
-import comm::chan;
-import comm::send;
-import comm::recv;
+import pipes::port;
+import pipes::chan;
+import pipes::send;
+import pipes::recv;
 
 import core::result;
 import result::{ok, err};
@@ -26,22 +26,22 @@ import result::{ok, err};
 fn fib(n: int) -> int {
     fn pfib(c: chan<int>, n: int) {
         if n == 0 {
-            send(c, 0);
+            c.send(0);
         } else if n <= 2 {
-            send(c, 1);
+            c.send(1);
         } else {
-            let p = port();
-            let ch = chan(p);
+            let p = pipes::port_set();
+            let ch = p.chan();
             task::spawn(|| pfib(ch, n - 1) );
+            let ch = p.chan();
             task::spawn(|| pfib(ch, n - 2) );
-            send(c, recv(p) + recv(p));
+            c.send(p.recv() + p.recv());
         }
     }
 
-    let p = port();
-    let ch = chan(p);
+    let (ch, p) = pipes::stream();
     let t = task::spawn(|| pfib(ch, n) );
-    return recv(p);
+    p.recv()
 }
 
 type config = {stress: bool};