OLD | NEW |
1 // Copyright (c) 2015, the Fletch project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dartino project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE.md file. | 3 // BSD-style license that can be found in the LICENSE.md file. |
4 | 4 |
5 import 'dart:fletch'; | 5 import 'dart:fletch'; |
6 | 6 |
7 import 'package:expect/expect.dart'; | 7 import 'package:expect/expect.dart'; |
8 | 8 |
9 const int PROCESSES = 200000; | 9 const int PROCESSES = 200000; |
10 | 10 |
11 void main() { | 11 void main() { |
12 var channel = new Channel(); | 12 var channel = new Channel(); |
13 var port = new Port(channel); | 13 var port = new Port(channel); |
14 Stopwatch watch = new Stopwatch()..start(); | 14 Stopwatch watch = new Stopwatch()..start(); |
15 for (int i = 0; i < PROCESSES; i++) { | 15 for (int i = 0; i < PROCESSES; i++) { |
16 Process.spawnDetached(() => portResponder(port)); | 16 Process.spawnDetached(() => portResponder(port)); |
17 Expect.equals(null, channel.receive()); | 17 Expect.equals(null, channel.receive()); |
18 } | 18 } |
19 print("Took ${watch.elapsedMicroseconds} us to start $PROCESSES process and" | 19 print("Took ${watch.elapsedMicroseconds} us to start $PROCESSES process and" |
20 "sending one message."); | 20 "sending one message."); |
21 } | 21 } |
22 | 22 |
23 void portResponder(Port output) { | 23 void portResponder(Port output) { |
24 output.send(null); | 24 output.send(null); |
25 } | 25 } |
OLD | NEW |