diff options
| author | Brian Anderson <banderson@mozilla.com> | 2011-12-20 20:57:04 -0800 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2011-12-20 20:57:04 -0800 |
| commit | dedfef4c4c7a5e2d3f36d4301bfd9f7e1af21640 (patch) | |
| tree | 01b407d906d741edb463522309b3fd2cb1363100 /src/test/bench | |
| parent | 854daaec0c4cf0c236e46b45a1254c85a8b352db (diff) | |
Revert "wip"
This reverts commit aeadc6269ef76f4425a49d892ceac7ea311ef5c1.
Diffstat (limited to 'src/test/bench')
| -rw-r--r-- | src/test/bench/task-perf-one-million.rs | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/src/test/bench/task-perf-one-million.rs b/src/test/bench/task-perf-one-million.rs deleted file mode 100644 index 8430351b7e9..00000000000 --- a/src/test/bench/task-perf-one-million.rs +++ /dev/null @@ -1,60 +0,0 @@ -// xfail-test FIXME: Can't run under valgrind - too much RAM -// FIXME: This doesn't spawn close to a million tasks yet - -tag msg { - ready(comm::chan<msg>); - start; - done(int); -} - -fn calc(&&args: (int, comm::chan<msg>)) { - let (depth, parent_ch) = args; - let port = comm::port(); - let children = depth > 0 ? 20u : 0u; - let child_chs = []; - let sum = 0; - - repeat (children) {|| - task::spawn((depth - 1, comm::chan(port)), calc); - } - - repeat (children) {|| - alt comm::recv(port) { - ready(child_ch) { - child_chs += [child_ch]; - } - } - } - - comm::send(parent_ch, ready(comm::chan(port))); - - alt comm::recv(port) { - start. { - vec::iter (child_chs) { |child_ch| - comm::send(child_ch, start); - } - } - } - - repeat (children) {|| - alt comm::recv(port) { - done(child_sum) { sum += child_sum; } - } - } - - comm::send(parent_ch, done(sum + 1)); -} - -fn main() { - let port = comm::port(); - task::spawn((3, comm::chan(port)), calc); - alt comm::recv(port) { - ready(chan) { - comm::send(chan, start); - } - } - let sum = alt comm::recv(port) { - done(sum) { sum } - }; - log #fmt("How many tasks? That's right, %d tasks.", sum); -} \ No newline at end of file |
