aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/edit_bench.erl
diff options
context:
space:
mode:
authorlukeg <lukeg>2003-02-21 19:01:14 +0000
committerlukeg <lukeg>2003-02-21 19:01:14 +0000
commite7d48fe500f6ed676ee1b212ebd61408bced1c5b (patch)
tree11a756c7bb4906f3e186c1cb8331cb7ed27bc69c /src/edit_bench.erl
downloadermacs-fork-e7d48fe500f6ed676ee1b212ebd61408bced1c5b.tar.gz
*** empty log message ***
Diffstat (limited to 'src/edit_bench.erl')
-rw-r--r--src/edit_bench.erl32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/edit_bench.erl b/src/edit_bench.erl
new file mode 100644
index 0000000..1c40925
--- /dev/null
+++ b/src/edit_bench.erl
@@ -0,0 +1,32 @@
+%%%-------------------------------------------------------------------
+%%% File : edit_bench.erl
+%%% Author : Luke Gorrie <luke@bluetail.com>
+%%% Purpose : Random benchmarking
+%%%
+%%% Created : 29 Sep 2001 by Luke Gorrie <luke@bluetail.com>
+%%%-------------------------------------------------------------------
+-module(edit_bench).
+
+-compile(export_all).
+
+%% Testing the speed of sending (large) cords in messages
+
+cord_bench(Filename, N) ->
+ {ok, Cord} = cord:new_from_file(Filename),
+ Pid = spawn_link(?MODULE, cord_receiver, []),
+ timer:tc(?MODULE, cord_bench_loop, [Cord, Pid, N]).
+
+cord_bench_loop(Cord, Pid, 0) ->
+ exit(Pid, kill),
+ ok;
+cord_bench_loop(Cord, Pid, N) when N > 0 ->
+ Pid ! {cord, self(), Cord},
+ receive ack -> ok end,
+ cord_bench_loop(Cord, Pid, N-1).
+
+cord_receiver() ->
+ receive {cord, Who, Cord} -> Who ! ack end,
+ cord_receiver().
+
+
+