]> gitweb.factorcode.org Git - factor.git/commitdiff
Adding a webapp for benchmarking the Factor web server.
authorJohn Benediktsson <mrjbq7@gmail.com>
Sat, 27 Aug 2011 01:02:44 +0000 (18:02 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sat, 27 Aug 2011 01:02:44 +0000 (18:02 -0700)
extra/webapps/benchmark/benchmark.factor [new file with mode: 0644]

diff --git a/extra/webapps/benchmark/benchmark.factor b/extra/webapps/benchmark/benchmark.factor
new file mode 100644 (file)
index 0000000..8f6154c
--- /dev/null
@@ -0,0 +1,34 @@
+! Copyright (C) 2011 John Benediktsson
+! See http://factorcode.org/license.txt for BSD license
+
+USING: accessors furnace.actions http.server
+http.server.dispatchers http.server.responses http.server.static
+kernel namespaces ;
+
+IN: webapps.benchmark
+
+: <hello-action> ( -- action )
+    <page-action>
+        [ "Hello, world!" "text/plain" <content> ] >>display ;
+
+TUPLE: benchmark < dispatcher ;
+
+: <benchmark> ( -- dispatcher )
+    benchmark new-dispatcher
+        <hello-action> "hello" add-responder
+        "resource:" <static> "static" add-responder ;
+
+: run-benchmark ( -- )
+    <benchmark>
+        main-responder set-global
+    8080 httpd drop ;
+
+! Use this with apachebench:
+!
+!   * dynamic content
+!     http://localhost:8080/hello
+!
+!   * static content
+!     http://localhost:8080/static/readme.html
+
+MAIN: run-benchmark