From 6a0934931cbccbb5a4b26b1ca470d93236f47ea3 Mon Sep 17 00:00:00 2001 From: Scott Ostler Date: Sun, 15 Nov 2009 00:53:54 -0500 Subject: Changed benchmark test --- src/benchmark.clj | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/benchmark.clj b/src/benchmark.clj index 5573e56..3adf843 100755 --- a/src/benchmark.clj +++ b/src/benchmark.clj @@ -31,6 +31,10 @@ (nth (seq s) (. random nextInt (count s)))) +(defn refresh [] + (dosync + {"users" (keys @users) "messages" @messages})) + (defn add-user [] (dosync (if (= (count @users) room-limit) @@ -38,7 +42,8 @@ (alter users dissoc loser))) (let [nick (random-string 10)] (alter users assoc nick (struct user-struct nick (System/currentTimeMillis))) - (json-str {"users" (keys @users) "messages" (reverse @messages)})))) + {"users" (keys @users) "messages" (reverse @messages)}))) + (defn post-message [] (dosync @@ -47,19 +52,23 @@ (ref-set messages (conj (take (- 100 1) @messages) (struct message-struct nick msg (System/currentTimeMillis)))) (alter users assoc-in [nick :last-seen] (System/currentTimeMillis)) - (json-str "OK")))) + "OK"))) + (defn do-bench [] (let [r (.nextDouble random)] - (if (or (= 0 (count @users)) (< r 0.1)) - (add-user) - (post-message)))) + (cond (< r 0.8) (json-str (refresh)) + (< r 0.9) (json-str (add-user)) + (< r 1) (json-str (post-message))))) +(defn hello-world [] + "hello world!") (defroutes benchmark + (GET "/hello" (hello-world)) (ANY "*" (do-bench))) - +(add-user) (run-server {:port 8080} "/*" (servlet benchmark)) \ No newline at end of file -- cgit v1.2.3-70-g09d2