diff options
| -rw-r--r-- | src/test/bench/task-perf-spawnalot.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/test/bench/task-perf-spawnalot.rs b/src/test/bench/task-perf-spawnalot.rs new file mode 100644 index 00000000000..0c63661ebae --- /dev/null +++ b/src/test/bench/task-perf-spawnalot.rs @@ -0,0 +1,29 @@ +use std; +import std::vec; +import std::task; +import std::uint; +import std::str; + +fn f(n: uint) { + let i = 0u; + while i < n { + task::join(spawn g()); + i += 1u; + } +} + +fn g() {} + +fn main(args: vec[str]) { + + let n = if vec::len(args) < 2u { + 10u + } else { + uint::parse_buf(str::bytes(args.(1)), 10u) + }; + let i = 0u; + while i < n { + spawn f(n); + i += 1u; + } +} \ No newline at end of file |
