Browse Source

Merge branch 'docker' into master

Nate 7 years ago
parent
commit
4b7cf36f5c
100 changed files with 587 additions and 604 deletions
  1. 192 202
      .travis.yml
  2. 0 1
      benchmark.cfg.example
  3. 3 1
      deployment/vagrant/bootstrap.sh
  4. 5 7
      deployment/vagrant/core.rb
  5. 0 5
      frameworks/C/duda/.gitignore
  6. 0 1
      frameworks/C/duda/benchmark_config.json
  7. 13 0
      frameworks/C/duda/duda.dockerfile
  8. 0 5
      frameworks/C/duda/setup.sh
  9. 0 5
      frameworks/C/facil.io/.gitignore
  10. 0 1
      frameworks/C/facil.io/benchmark_config.json
  11. 20 0
      frameworks/C/facil.io/facil.io.dockerfile
  12. 0 42
      frameworks/C/facil.io/setup.sh
  13. 0 1
      frameworks/C/h2o/benchmark_config.json
  14. 56 0
      frameworks/C/h2o/h2o.dockerfile
  15. 5 3
      frameworks/C/h2o/start-servers.sh
  16. 0 1
      frameworks/C/libreactor/benchmark_config.json
  17. 25 0
      frameworks/C/libreactor/libreactor.dockerfile
  18. 0 7
      frameworks/C/libreactor/setup.sh
  19. 0 1
      frameworks/C/octane/benchmark_config.json
  20. 16 0
      frameworks/C/octane/octane.dockerfile
  21. 0 5
      frameworks/C/octane/setup.sh
  22. 0 2
      frameworks/C/onion/.gitignore
  23. 0 19
      frameworks/C/onion/benchmark_config.json
  24. 1 1
      frameworks/C/onion/hello.c
  25. 24 0
      frameworks/C/onion/onion.dockerfile
  26. 0 11
      frameworks/C/onion/setup.sh
  27. 0 5
      frameworks/D/collie/.gitignore
  28. 0 2
      frameworks/D/collie/benchmark_config.json
  29. 8 0
      frameworks/D/collie/collie-ldc.dockerfile
  30. 8 0
      frameworks/D/collie/collie.dockerfile
  31. 0 13
      frameworks/D/collie/setup.sh
  32. 0 13
      frameworks/D/collie/setup_ldc.sh
  33. 0 1
      frameworks/D/hunt/benchmark_config.json
  34. 9 0
      frameworks/D/hunt/hunt.dockerfile
  35. 0 2
      frameworks/D/hunt/resources/main.html
  36. 0 14
      frameworks/D/hunt/setup.sh
  37. 0 0
      frameworks/D/hunt/source/app/.gitkeeper
  38. 0 8
      frameworks/D/vibed/.gitignore
  39. 0 4
      frameworks/D/vibed/benchmark_config.json
  40. 0 13
      frameworks/D/vibed/setup.sh
  41. 0 13
      frameworks/D/vibed/setup_ldc.sh
  42. 0 13
      frameworks/D/vibed/setup_ldc_pgsql.sh
  43. 0 13
      frameworks/D/vibed/setup_pgsql.sh
  44. 10 0
      frameworks/D/vibed/vibed-dmd-pgsql.dockerfile
  45. 10 0
      frameworks/D/vibed/vibed-ldc-pgsql.dockerfile
  46. 10 0
      frameworks/D/vibed/vibed-ldc.dockerfile
  47. 8 0
      frameworks/D/vibed/vibed.dockerfile
  48. 0 1
      frameworks/Dart/dart-raw/.gitignore
  49. 0 7
      frameworks/Dart/dart-raw/setup.sh
  50. 0 0
      frameworks/Dart/dart/README.md
  51. 0 1
      frameworks/Dart/dart/benchmark_config.json
  52. 7 0
      frameworks/Dart/dart/dart.dockerfile
  53. 0 0
      frameworks/Dart/dart/fortunes.mustache
  54. 0 0
      frameworks/Dart/dart/postgresql.yaml
  55. 0 0
      frameworks/Dart/dart/pubspec.yaml
  56. 0 0
      frameworks/Dart/dart/server.dart
  57. 0 0
      frameworks/Dart/dart/source_code
  58. 0 2
      frameworks/Dart/redstone/.gitignore
  59. 0 2
      frameworks/Dart/redstone/benchmark_config.json
  60. 7 0
      frameworks/Dart/redstone/redstone-mongodb.dockerfile
  61. 7 0
      frameworks/Dart/redstone/redstone.dockerfile
  62. 0 7
      frameworks/Dart/redstone/setup.sh
  63. 0 5
      frameworks/Dart/redstone/setup_mongodb.sh
  64. 0 5
      frameworks/Dart/redstone/setup_postgresql.sh
  65. 0 2
      frameworks/Dart/start/.gitignore
  66. 2 2
      frameworks/Dart/start/benchmark_config.json
  67. 0 17
      frameworks/Dart/start/nginx-conf.sh
  68. 0 5
      frameworks/Dart/start/setup_mongodb.sh
  69. 0 5
      frameworks/Dart/start/setup_postgresql.sh
  70. 8 0
      frameworks/Dart/start/start-nginx.dockerfile
  71. 14 0
      frameworks/Dart/start/start-servers.sh
  72. 9 0
      frameworks/Dart/start/start.dockerfile
  73. 0 2
      frameworks/Dart/stream/.gitignore
  74. 21 21
      frameworks/Dart/stream/benchmark_config.json
  75. 0 17
      frameworks/Dart/stream/nginx-conf.sh
  76. 0 5
      frameworks/Dart/stream/setup_mongodb.sh
  77. 0 5
      frameworks/Dart/stream/setup_postgresql.sh
  78. 14 0
      frameworks/Dart/stream/start-servers.sh
  79. 8 0
      frameworks/Dart/stream/stream-nginx.dockerfile
  80. 9 0
      frameworks/Dart/stream/stream.dockerfile
  81. 0 1
      frameworks/Elixir/cowboy/benchmark_config.json
  82. 11 0
      frameworks/Elixir/cowboy/elixir-cowboy.dockerfile
  83. 0 1
      frameworks/Elixir/phoenix/benchmark_config.json
  84. 12 0
      frameworks/Elixir/phoenix/phoenix.dockerfile
  85. 0 13
      frameworks/Elixir/phoenix/setup.sh
  86. 0 1
      frameworks/Erlang/chicagoboss/benchmark_config.json
  87. 8 0
      frameworks/Erlang/chicagoboss/chicagoboss.dockerfile
  88. 0 9
      frameworks/Erlang/chicagoboss/setup.sh
  89. 1 1
      frameworks/Erlang/cowboy/Makefile
  90. 0 1
      frameworks/Erlang/cowboy/benchmark_config.json
  91. 8 0
      frameworks/Erlang/cowboy/cowboy.dockerfile
  92. 1 1
      frameworks/Erlang/cowboy/rebar.config
  93. 0 9
      frameworks/Erlang/cowboy/setup.sh
  94. 0 1
      frameworks/Erlang/elli/benchmark_config.json
  95. 8 0
      frameworks/Erlang/elli/elli.dockerfile
  96. 1 1
      frameworks/Erlang/elli/rebar.config
  97. 0 9
      frameworks/Erlang/elli/setup.sh
  98. 0 1
      frameworks/Erlang/mochiweb/benchmark_config.json
  99. 8 0
      frameworks/Erlang/mochiweb/mochiweb.dockerfile
  100. 0 9
      frameworks/Erlang/mochiweb/setup.sh

+ 192 - 202
.travis.yml

@@ -11,206 +11,195 @@ python:
 
 env:
   matrix:
-    - "TESTDIR=C/duda"
-    - "TESTDIR=C/facil.io"
-    - "TESTDIR=C/onion"
-    - "TESTDIR=C/h2o"
-    - "TESTDIR=C/octane"
-    - "TESTDIR=C/libreactor"
-    - "TESTDIR=CSharp/aspnet"
-    - "TESTDIR=CSharp/aspnetcore"
-    ## - "TESTDIR=CSharp/aspnet-stripped"
-    - "TESTDIR=CSharp/evhttp-sharp"
-    ## - "TESTDIR=CSharp/HttpListener"
-    - "TESTDIR=CSharp/nancy"
-    - "TESTDIR=CSharp/revenj"
-    - "TESTDIR=CSharp/servicestack"
-    - "TESTDIR=C++/cppcms"
-    - "TESTDIR=C++/ffead-cpp"
-    - "TESTDIR=C++/cpoll_cppsp"
-    - "TESTDIR=C++/cutelyst"
-    - "TESTDIR=C++/silicon"
-    - "TESTDIR=C++/treefrog"
-    - "TESTDIR=C++/ulib"
-    - "TESTDIR=C++/wt"
-    - "TESTDIR=C++/poco"
-    - "TESTDIR=C++/luna"
-    - "TESTDIR=Clojure/compojure"
-    - "TESTDIR=Clojure/http-kit"
-    - "TESTDIR=Clojure/luminus"
-    - "TESTDIR=Clojure/macchiato"
-    - "TESTDIR=Clojure/pedestal"
-    - "TESTDIR=Clojure/aleph"
-    - "TESTDIR=Clojure/reitit"
-    - "TESTDIR=Crystal/amber"
-    - "TESTDIR=Crystal/crystal"
-    - "TESTDIR=Crystal/kemal"
-    - "TESTDIR=D/vibed"
-    - "TESTDIR=D/hunt"
-    - "TESTDIR=D/collie"
-    - "TESTDIR=Dart/dart-raw"
-    - "TESTDIR=Dart/redstone"
-    - "TESTDIR=Dart/start"
-    - "TESTDIR=Dart/stream"
-    - "TESTDIR=Elixir/phoenix"
-    - "TESTDIR=Elixir/cowboy"
-    - "TESTDIR=Erlang/chicagoboss"
-    - "TESTDIR=Erlang/cowboy"
-    - "TESTDIR=Erlang/elli"
-    - "TESTDIR=Erlang/mochiweb"
-    - "TESTDIR=Go/aah"
-    - "TESTDIR=Go/beego"
-    - "TESTDIR=Go/echo"
-    - "TESTDIR=Go/falcore"
-    - "TESTDIR=Go/fasthttp"
-    - "TESTDIR=Go/gin"
-    - "TESTDIR=Go/goji"
-    - "TESTDIR=Go/go-std"
-    - "TESTDIR=Go/revel"
-    - "TESTDIR=Go/webgo"
-    - "TESTDIR=Groovy/grails"
-    - "TESTDIR=Groovy/hot"
-    - "TESTDIR=Haskell/snap"
-    - "TESTDIR=Haskell/wai"
-    - "TESTDIR=Haskell/yesod"
-    - "TESTDIR=Haskell/servant"
-    - "TESTDIR=Haskell/spock"
-    - "TESTDIR=Java/act"
-    - "TESTDIR=Java/activeweb"
-    - "TESTDIR=Java/baratine"
-    - "TESTDIR=Java/bayou"
-    - "TESTDIR=Java/blade"
-    - "TESTDIR=Java/comsat"
-    - "TESTDIR=Java/curacao"
-    - "TESTDIR=Java/dropwizard"
-    - "TESTDIR=Java/gemini"
-    - "TESTDIR=Java/grizzly-bm"
-    - "TESTDIR=Java/jawn"
-    - "TESTDIR=Java/jetty"
-    - "TESTDIR=Java/jlhttp"
-    - "TESTDIR=Java/jooby"
-    - "TESTDIR=Java/light-java"
-    - "TESTDIR=Java/minijax"
-    - "TESTDIR=Java/netty"
-    - "TESTDIR=Java/ninja-standalone"
-    - "TESTDIR=Java/play1"
-    - "TESTDIR=Java/play2-java"
-    - "TESTDIR=Java/proteus"
-    - "TESTDIR=Java/rapidoid"
-    - "TESTDIR=Java/restexpress"
-    - "TESTDIR=Java/revenj-jvm"
-    - "TESTDIR=Java/servlet"
-    - "TESTDIR=Java/spark"
-    - "TESTDIR=Java/spring"
-    - "TESTDIR=Java/tapestry"
-    - "TESTDIR=Java/undertow"
-    - "TESTDIR=Java/undertow-jersey"
-    - "TESTDIR=Java/vertx"
-    - "TESTDIR=Java/vertx-web"
-    - "TESTDIR=Java/wicket"
-    - "TESTDIR=Java/wildfly-ee7"
-    - "TESTDIR=JavaScript/express"
-    - "TESTDIR=JavaScript/hapi"
-    - "TESTDIR=JavaScript/koa"
-    - "TESTDIR=JavaScript/nodejs"
-    - "TESTDIR=JavaScript/ringojs"
-    - "TESTDIR=JavaScript/sailsjs"
-    - "TESTDIR=Kotlin/hexagon"
-    - "TESTDIR=Kotlin/http4k"
-    - "TESTDIR=Kotlin/ktor"
-    - "TESTDIR=Kotlin/pronghorn"
-    - "TESTDIR=Lua/lapis"
-    - "TESTDIR=Lua/octopus"
-    - "TESTDIR=Lua/openresty"
-    - "TESTDIR=Nim/jester"
-    - "TESTDIR=Perl/dancer"
-    - "TESTDIR=Perl/kelp"
-    - "TESTDIR=Perl/mojolicious"
-    - "TESTDIR=Perl/plack"
-    - "TESTDIR=Perl/web-simple"
-    - "TESTDIR=PHP/cakephp"
-    - "TESTDIR=PHP/hhvm"
-    - "TESTDIR=PHP/php"
-    - "TESTDIR=PHP/cygnite"
-    - "TESTDIR=PHP/codeigniter"
-    - "TESTDIR=PHP/clancats"
-    - "TESTDIR=PHP/fat-free"
-    - "TESTDIR=PHP/fuel"
-    - "TESTDIR=PHP/kohana"
-    - "TESTDIR=PHP/kumbiaphp"
-    - "TESTDIR=PHP/laravel"
-    - "TESTDIR=PHP/limonade"
-    - "TESTDIR=PHP/lithium"
-    - "TESTDIR=PHP/lumen"
-    - "TESTDIR=PHP/peachpie"
-    - "TESTDIR=PHP/phalcon"
-    - "TESTDIR=PHP/phalcon-micro"
-    - "TESTDIR=PHP/phpixie"
-    - "TESTDIR=PHP/silex"
-    - "TESTDIR=PHP/silex-orm"
-    - "TESTDIR=PHP/slim"
-    - "TESTDIR=PHP/symfony"
-    - "TESTDIR=PHP/workerman"
-    - "TESTDIR=PHP/yaf"
-    - "TESTDIR=PHP/yii2"
-    - "TESTDIR=PHP/zend"
-    - "TESTDIR=PHP/zend1"
-    - "TESTDIR=PHP/phreeze"
-    - "TESTDIR=Python/aiohttp"
-    - "TESTDIR=Python/apistar"
-    - "TESTDIR=Python/api_hour"
-    - "TESTDIR=Python/bottle"
-    - "TESTDIR=Python/cherrypy"
-    - "TESTDIR=Python/django"
-    - "TESTDIR=Python/falcon"
-    - "TESTDIR=Python/flask"
-    - "TESTDIR=Python/japronto"
-    - "TESTDIR=Python/klein"
-    - "TESTDIR=Python/morepath"
-    - "TESTDIR=Python/pyramid"
-    - "TESTDIR=Python/sanic"
-    - "TESTDIR=Python/tornado"
-    - "TESTDIR=Python/turbogears"
-    - "TESTDIR=Python/uvicorn"
-    - "TESTDIR=Python/uwsgi"
-    - "TESTDIR=Python/web2py"
-    - "TESTDIR=Python/webware"
-    - "TESTDIR=Python/weppy"
-    - "TESTDIR=Python/wheezyweb"
-    - "TESTDIR=Python/wsgi"
-    - "TESTDIR=Ruby/grape"
-    - "TESTDIR=Ruby/h2o_mruby"
-    - "TESTDIR=Ruby/hanami"
-    - "TESTDIR=Ruby/ngx_mruby"
-    - "TESTDIR=Ruby/padrino"
-    - "TESTDIR=Ruby/rack"
-    - "TESTDIR=Ruby/rack-sequel"
-    - "TESTDIR=Ruby/rails"
-    - "TESTDIR=Ruby/roda-sequel"
-    - "TESTDIR=Ruby/sinatra"
-    - "TESTDIR=Ruby/sinatra-sequel"
-    - "TESTDIR=Rust/iron"
-    - "TESTDIR=Rust/nickel"
-    - "TESTDIR=Rust/hyper"
-    - "TESTDIR=Rust/tokio-minihttp"
-    - "TESTDIR=Rust/rouille"
-    - "TESTDIR=Rust/actix"
-    - "TESTDIR=Scala/akka-http"
-    - "TESTDIR=Scala/blaze"
-    - "TESTDIR=Scala/colossus"
-    - "TESTDIR=Scala/finagle"
-    - "TESTDIR=Scala/finatra"
-    - "TESTDIR=Scala/fintrospect"
-    - "TESTDIR=Scala/play2-scala"
-    - "TESTDIR=Scala/scruffy"
-    - "TESTDIR=Scala/spray"
-    - "TESTDIR=Scala/s-server"
-    - "TESTDIR=Scala/http4s"
-    - "TESTDIR=Scala/finch"
-    - "TESTDIR=Swift/vapor"
-    - "TESTDIR=Ur/urweb"
-    - "TESTDIR=Vala/vsgi"
-    - "TESTDIR=Vala/valum"
+     - "TESTLANG=C"
+    # - "TESTDIR=CSharp/aspnet"
+    # - "TESTDIR=CSharp/aspnetcore"
+    # ## - "TESTDIR=CSharp/aspnet-stripped"
+    # - "TESTDIR=CSharp/evhttp-sharp"
+    # ## - "TESTDIR=CSharp/HttpListener"
+    # - "TESTDIR=CSharp/nancy"
+    # - "TESTDIR=CSharp/revenj"
+    # - "TESTDIR=CSharp/servicestack"
+    # - "TESTDIR=C++/cppcms"
+    # - "TESTDIR=C++/ffead-cpp"
+    # - "TESTDIR=C++/cpoll_cppsp"
+    # - "TESTDIR=C++/cutelyst"
+    # - "TESTDIR=C++/silicon"
+    # - "TESTDIR=C++/treefrog"
+    # - "TESTDIR=C++/ulib"
+    # - "TESTDIR=C++/wt"
+    # - "TESTDIR=C++/poco"
+    # - "TESTDIR=C++/luna"
+    # - "TESTDIR=Clojure/compojure"
+    # - "TESTDIR=Clojure/http-kit"
+    # - "TESTDIR=Clojure/luminus"
+    # - "TESTDIR=Clojure/macchiato"
+    # - "TESTDIR=Clojure/pedestal"
+    # - "TESTDIR=Clojure/aleph"
+    # - "TESTDIR=Clojure/reitit"
+    # - "TESTDIR=Crystal/amber"
+    # - "TESTDIR=Crystal/crystal"
+    # - "TESTDIR=Crystal/kemal"
+     - "TESTDIR=D/vibed"
+     - "TESTDIR=D/hunt"
+     - "TESTDIR=D/collie"
+     - "TESTDIR=Dart/dart"
+     - "TESTDIR=Dart/redstone"
+     - "TESTDIR=Dart/start"
+     - "TESTDIR=Dart/stream"
+     - "TESTDIR=Elixir/phoenix"
+     - "TESTDIR=Elixir/cowboy"
+     - "TESTDIR=Erlang/chicagoboss"
+     - "TESTDIR=Erlang/cowboy"
+     - "TESTDIR=Erlang/elli"
+     - "TESTDIR=Erlang/mochiweb"
+    # - "TESTDIR=Go/aah"
+    # - "TESTDIR=Go/beego"
+    # - "TESTDIR=Go/echo"
+    # - "TESTDIR=Go/falcore"
+    # - "TESTDIR=Go/fasthttp"
+    # - "TESTDIR=Go/gin"
+    # - "TESTDIR=Go/goji"
+    # - "TESTDIR=Go/go-std"
+    # - "TESTDIR=Go/revel"
+    # - "TESTDIR=Go/webgo"
+    # - "TESTDIR=Groovy/grails"
+    # - "TESTDIR=Groovy/hot"
+    # - "TESTDIR=Haskell/snap"
+    # - "TESTDIR=Haskell/wai"
+    # - "TESTDIR=Haskell/yesod"
+    # - "TESTDIR=Haskell/servant"
+    # - "TESTDIR=Haskell/spock"
+     - "TESTDIR=Java/act"
+    # - "TESTDIR=Java/activeweb"
+    # - "TESTDIR=Java/baratine"
+    # - "TESTDIR=Java/bayou"
+    # - "TESTDIR=Java/blade"
+    # - "TESTDIR=Java/comsat"
+    # - "TESTDIR=Java/curacao"
+    # - "TESTDIR=Java/dropwizard"
+     - "TESTDIR=Java/gemini"
+    # - "TESTDIR=Java/grizzly-bm"
+    # - "TESTDIR=Java/jawn"
+    # - "TESTDIR=Java/jetty"
+    # - "TESTDIR=Java/jlhttp"
+    # - "TESTDIR=Java/jooby"
+    # - "TESTDIR=Java/light-java"
+    # - "TESTDIR=Java/minijax"
+    # - "TESTDIR=Java/netty"
+    # - "TESTDIR=Java/ninja-standalone"
+    # - "TESTDIR=Java/play1"
+    # - "TESTDIR=Java/play2-java"
+    # - "TESTDIR=Java/proteus"
+    # - "TESTDIR=Java/rapidoid"
+    # - "TESTDIR=Java/restexpress"
+    # - "TESTDIR=Java/revenj-jvm"
+    # - "TESTDIR=Java/servlet"
+    # - "TESTDIR=Java/spark"
+    # - "TESTDIR=Java/spring"
+    # - "TESTDIR=Java/tapestry"
+     - "TESTDIR=Java/undertow"
+    # - "TESTDIR=Java/undertow-jersey"
+    # - "TESTDIR=Java/vertx"
+    # - "TESTDIR=Java/vertx-web"
+    # - "TESTDIR=Java/wicket"
+    # - "TESTDIR=Java/wildfly-ee7"
+     - "TESTLANG=JavaScript"
+    # - "TESTDIR=Kotlin/hexagon"
+    # - "TESTDIR=Kotlin/http4k"
+    # - "TESTDIR=Kotlin/ktor"
+    # - "TESTDIR=Kotlin/pronghorn"
+    # - "TESTDIR=Lua/lapis"
+    # - "TESTDIR=Lua/octopus"
+    # - "TESTDIR=Lua/openresty"
+    # - "TESTDIR=Nim/jester"
+    # - "TESTDIR=Perl/dancer"
+    # - "TESTDIR=Perl/kelp"
+    # - "TESTDIR=Perl/mojolicious"
+    # - "TESTDIR=Perl/plack"
+    # - "TESTDIR=Perl/web-simple"
+    # - "TESTDIR=PHP/cakephp"
+    # - "TESTDIR=PHP/hhvm"
+    # - "TESTDIR=PHP/php"
+    # - "TESTDIR=PHP/cygnite"
+    # - "TESTDIR=PHP/codeigniter"
+    # - "TESTDIR=PHP/clancats"
+    # - "TESTDIR=PHP/fat-free"
+    # - "TESTDIR=PHP/fuel"
+    # - "TESTDIR=PHP/kohana"
+    # - "TESTDIR=PHP/laravel"
+    # - "TESTDIR=PHP/limonade"
+    # - "TESTDIR=PHP/lithium"
+    # - "TESTDIR=PHP/lumen"
+    # - "TESTDIR=PHP/peachpie"
+    # - "TESTDIR=PHP/phalcon"
+    # - "TESTDIR=PHP/phalcon-micro"
+    # - "TESTDIR=PHP/phpixie"
+    # - "TESTDIR=PHP/silex"
+    # - "TESTDIR=PHP/silex-orm"
+    # - "TESTDIR=PHP/slim"
+    # - "TESTDIR=PHP/symfony"
+    # - "TESTDIR=PHP/workerman"
+    # - "TESTDIR=PHP/yaf"
+    # - "TESTDIR=PHP/yii2"
+    # - "TESTDIR=PHP/zend"
+    # - "TESTDIR=PHP/zend1"
+    # - "TESTDIR=PHP/phreeze"
+    # - "TESTDIR=Python/aiohttp"
+    # - "TESTDIR=Python/apistar"
+    # - "TESTDIR=Python/api_hour"
+    # - "TESTDIR=Python/bottle"
+    # - "TESTDIR=Python/cherrypy"
+    # - "TESTDIR=Python/django"
+    # - "TESTDIR=Python/falcon"
+    # - "TESTDIR=Python/flask"
+    # - "TESTDIR=Python/japronto"
+    # - "TESTDIR=Python/klein"
+    # - "TESTDIR=Python/morepath"
+    # - "TESTDIR=Python/pyramid"
+    # - "TESTDIR=Python/sanic"
+    # - "TESTDIR=Python/tornado"
+    # - "TESTDIR=Python/turbogears"
+    # - "TESTDIR=Python/uvicorn"
+    # - "TESTDIR=Python/uwsgi"
+    # - "TESTDIR=Python/web2py"
+    # - "TESTDIR=Python/webware"
+    # - "TESTDIR=Python/weppy"
+    # - "TESTDIR=Python/wheezyweb"
+    # - "TESTDIR=Python/wsgi"
+    # - "TESTDIR=Ruby/grape"
+    # - "TESTDIR=Ruby/h2o_mruby"
+    # - "TESTDIR=Ruby/hanami"
+    # - "TESTDIR=Ruby/ngx_mruby"
+    # - "TESTDIR=Ruby/padrino"
+    # - "TESTDIR=Ruby/rack"
+    # - "TESTDIR=Ruby/rack-sequel"
+    # - "TESTDIR=Ruby/rails"
+    # - "TESTDIR=Ruby/roda-sequel"
+    # - "TESTDIR=Ruby/sinatra"
+    # - "TESTDIR=Ruby/sinatra-sequel"
+    # - "TESTDIR=Rust/iron"
+    # - "TESTDIR=Rust/nickel"
+    # - "TESTDIR=Rust/hyper"
+    # - "TESTDIR=Rust/tokio-minihttp"
+    # - "TESTDIR=Rust/rouille"
+    # - "TESTDIR=Rust/actix"
+    # - "TESTDIR=Scala/akka-http"
+    # - "TESTDIR=Scala/blaze"
+    # - "TESTDIR=Scala/colossus"
+    # - "TESTDIR=Scala/finagle"
+    # - "TESTDIR=Scala/finatra"
+    # - "TESTDIR=Scala/fintrospect"
+    # - "TESTDIR=Scala/play2-scala"
+    # - "TESTDIR=Scala/scruffy"
+    # - "TESTDIR=Scala/spray"
+    # - "TESTDIR=Scala/s-server"
+    # - "TESTDIR=Scala/http4s"
+    # - "TESTDIR=Scala/finch"
+    # - "TESTDIR=Swift/vapor"
+     - "TESTDIR=Ur/urweb"
+    # - "TESTDIR=Vala/vsgi"
+    # - "TESTDIR=Vala/valum"
 
 before_script:
 
@@ -234,10 +223,11 @@ script:
   # we'd like to try and do the diffing before travis_clean & setup.
   # This will run the tests exactly as you would in your own vm:
   # ./toolset/run-tests.py --mode verify --test (all the valid tests for this framework)
-  - if [ $CONTINUE_TEST ]; then tfb --mode verify --test-dir "$TESTDIR"; else echo 'Skipping test verification.'; fi
+  - if [[ $CONTINUE_TEST && "$TESTDIR" ]]; then tfb --mode verify --test-dir "$TESTDIR"; else echo 'Skipping test verification.'; fi
+  - if [[ $CONTINUE_TEST && "$TESTLANG" ]]; then tfb --mode verify --test-lang "$TESTLANG"; else echo 'Skipping test verification.'; fi
   # - tfb --mode verify --test
 
 cache:
   directories:
     - $HOME/.m2/repository
-    - $HOME/.cache/pip
+    - $HOME/.cache/pip

+ 0 - 1
benchmark.cfg.example

@@ -26,7 +26,6 @@ test=None
 type=all
 verbose=True
 clean=False
-clean_all=False
 ulimit=200000
 #results_name=My Benchmarking Run %%Y-%%m-%%d %%H:%%M:%%S
 #results_environment=My Server Environment

+ 3 - 1
deployment/vagrant/bootstrap.sh

@@ -65,7 +65,6 @@ test=None
 type=all
 verbose=True
 clean=False
-clean_all=False
 ulimit=200000
 EOF
 
@@ -93,4 +92,7 @@ EOF
 
   sudo mv motd /etc/
 
+  echo "Setting up client and database machines"
+  tfb --init --quiet
+
 fi

+ 5 - 7
deployment/vagrant/core.rb

@@ -11,9 +11,8 @@ end
 
 def provider_libvirt(config)
   config.vm.provider :libvirt do |virt, override|
-    virt.name = "TechEmpower Framework Benchmarks"
     override.vm.hostname = "TFB-all"
-    override.vm.box = "RX14/trusty64"
+    override.vm.box = "generic/ubuntu1604"
 
     unless ENV.fetch('TFB_SHOW_VM', false)
       virt.graphics_type = "none"
@@ -22,17 +21,16 @@ def provider_libvirt(config)
     virt.memory = ENV.fetch('TFB_KVM_MEM', 3022)
     virt.cpus = ENV.fetch('TFB_KVM_CPU', 2)
 
-    override.vm.synced_folder "../../toolset", "/home/vagrant/FrameworkBenchmarks/toolset", type: "nfs"
-    override.vm.synced_folder "../../frameworks", "/home/vagrant/FrameworkBenchmarks/frameworks", type: "nfs"
-    override.vm.synced_folder "../../results", "/home/vagrant/FrameworkBenchmarks/results", type: "nfs", create: true
+    override.vm.synced_folder "../../toolset", "/home/vagrant/FrameworkBenchmarks/toolset", type: "nfs", nfs_udp: false
+    override.vm.synced_folder "../../frameworks", "/home/vagrant/FrameworkBenchmarks/frameworks", type: "nfs", nfs_udp: false
+    override.vm.synced_folder "../../results", "/home/vagrant/FrameworkBenchmarks/results", type: "nfs", nfs_udp: false, create: true
   end
 end
 
 def provider_virtualbox(config)
   config.vm.provider :virtualbox do |vb, override|
-    vb.name = "TechEmpower Framework Benchmarks"
     override.vm.hostname = "TFB-all"
-    override.vm.box = "ubuntu/trusty64"
+    override.vm.box = "ubuntu/xenial64"
 
     if ENV.fetch('TFB_SHOW_VM', false)
       vb.gui = true

+ 0 - 5
frameworks/C/duda/.gitignore

@@ -1,5 +0,0 @@
-*.o
-*~
-/Makefile
-/main.d
-/ws.duda

+ 0 - 1
frameworks/C/duda/benchmark_config.json

@@ -2,7 +2,6 @@
   "framework": "duda",
   "tests": [{
     "default": {
-      "setup_file": "setup",
       "json_url": "/json",
       "plaintext_url": "/plaintext",
       "port": 2001,

+ 13 - 0
frameworks/C/duda/duda.dockerfile

@@ -0,0 +1,13 @@
+FROM tfb/base:latest
+
+RUN apt install git python -y
+
+COPY ./ ./
+# Get v0.31 (no official releases that work 2015-06-25)
+
+RUN git clone https://github.com/monkey/dudac.git
+RUN cd dudac && git checkout 7c3d5b03b09fb4cb5f5e338fff72df2e25e95ef0 && \
+    ./dudac -r && \
+    ./dudac -s
+
+CMD ["./dudac/dudac", "-w", "webservice", "-p", "2001"]

+ 0 - 5
frameworks/C/duda/setup.sh

@@ -1,5 +0,0 @@
-#!/bin/bash
-
-fw_depends duda
-
-dudac -w $TROOT/webservice -p 2001 &

+ 0 - 5
frameworks/C/facil.io/.gitignore

@@ -1,5 +0,0 @@
-# Add any files that are created at build/run-time
-#
-# Example: *.class, *.pyc, bin/
-
-facil_app/

+ 0 - 1
frameworks/C/facil.io/benchmark_config.json

@@ -3,7 +3,6 @@
   "tests": [
     {
       "default": {
-        "setup_file": "setup",
         "json_url": "/json",
         "plaintext_url": "/plaintext",
         "port": 8080,

+ 20 - 0
frameworks/C/facil.io/facil.io.dockerfile

@@ -0,0 +1,20 @@
+FROM tfb/base:latest
+
+COPY ./ ./
+
+RUN mkdir facil_app && \
+    cd facil_app && \
+    curl -s -o facil.io.tar.gz -LJO https://api.github.com/repos/boazsegev/facil.io/tarball/0.6.0.beta.6 && \
+    tar --strip-components=1 -xzf facil.io.tar.gz
+
+# compile test
+RUN mkdir facil_app/src && cp bench_app.c facil_app/src
+
+# we don't need more than 32K concurrent connections
+ENV CFLAGS="-DLIB_SOCK_MAX_CAPACITY=32768"
+
+# Build the app
+RUN cd facil_app && make -j build
+
+# Run the app
+CMD ["./facil_app/tmp/demo", "-p", "8080", "-db \"TFB-database\"", "-w", "-1", "-t", "1"]

+ 0 - 42
frameworks/C/facil.io/setup.sh

@@ -1,42 +0,0 @@
-#!/bin/bash
-
-# enter root folder
-cd $TROOT
-
-# remove existing installation, if any
-if [ -d facil_app ] ; then
-	rm -R facil_app
-fi
-
-# create new installation folder
-mkdir facil_app
-cd facil_app
-
-# Download and unpack
-
-curl -s -o facil.io.tar.gz -LJO https://api.github.com/repos/boazsegev/facil.io/tarball/0.6.0.beta.6
-tar --strip-components=1 -xzf facil.io.tar.gz
-if [ $? -ne 0 ]; then echo "Couldn't extract tar."; exit 1; fi
-rm facil.io.tar.gz
-./scripts/new/cleanup
-cd ..
-
-
-# compile test
-rm -r facil_app/src
-mkdir facil_app/src
-cp bench_app.c facil_app/src
-cd facil_app
-
-# we don't need more than 32K concurrent connections
-export CFLAGS="-DLIB_SOCK_MAX_CAPACITY=32768"
-
-# Build the app
-make -j build
-
-# Run the upp
-cd tmp
-./demo -p 8080 -db "TFB-database" -w -1 -t 1 &
-# step out of app folder
-cd ../..
- 

+ 0 - 1
frameworks/C/h2o/benchmark_config.json

@@ -2,7 +2,6 @@
   "framework": "h2o",
   "tests": [{
     "default": {
-      "setup_file": "setup",
       "json_url": "/json",
       "db_url": "/db",
       "query_url": "/queries?queries=",

+ 56 - 0
frameworks/C/h2o/h2o.dockerfile

@@ -0,0 +1,56 @@
+FROM tfb/ruby-2.4:latest
+
+COPY ./ ./
+
+RUN ls
+
+RUN apt install -yqq cmake automake libpq-dev libnuma-dev checkinstall autoconf pkg-config libtool python-sphinx libcunit1-dev nettle-dev libyaml-dev
+
+### Install mustache-c
+
+RUN git clone https://github.com/x86-64/mustache-c.git && \
+    cd mustache-c && \
+    git checkout 55dafd1e95adaca90ea50efb9a8573786514c85a && \
+    CFLAGS="-O3 -flto -march=native" ./configure --prefix=/mustache-c && \
+    make -j "$(nproc)" install
+
+ENV MUSTACHE_C_HOME=/mustache-c
+ENV LD_LIBRARY_PATH=/mustache-c/lib:${LD_LIBRARY_PATH}
+
+### Install yajl
+
+ENV YAJL_VERSION="2.1.0"
+ENV YAJL_ARCHIVE="${YAJL_VERSION}.tar.gz"
+ENV YAJL_BUILD_DIR="yajl-${YAJL_VERSION}"
+
+RUN wget https://github.com/lloyd/yajl/archive/${YAJL_ARCHIVE} && \
+    tar xvf ${YAJL_ARCHIVE} && \
+    cd ${YAJL_BUILD_DIR} && \
+    ./configure -p /yajl && \
+    make -j "$(nproc)" install
+
+ENV YAJL_HOME=/yajl
+ENV LD_LIBRARY_PATH=/yajl/lib:${LD_LIBRARY_PATH}
+
+### Install h2o
+
+ENV IROOT="/install"
+ENV H2O_HOME="${IROOT}/h2o"
+ENV VERSION="2.2.4"
+ENV ARCHIVE="v${VERSION}.tar.gz"
+ENV BUILD_DIR="h2o-${VERSION}"
+
+RUN mkdir install
+RUN cd "${IROOT}" && \
+    wget "https://github.com/h2o/h2o/archive/$ARCHIVE" && \
+    tar xvf "$ARCHIVE" && \
+    cd "$BUILD_DIR" && \
+    cmake -DCMAKE_INSTALL_PREFIX="$H2O_HOME" -DCMAKE_C_FLAGS="-flto -march=native" \
+      -DCMAKE_AR=/usr/bin/gcc-ar -DCMAKE_RANLIB=/usr/bin/gcc-ranlib -DWITH_MRUBY=on && \
+    make -j "$(nproc)" install
+
+ENV PATH=${H2O_HOME}/bin:${PATH}
+
+RUN chmod a+wrx start-servers.sh
+
+CMD ["./start-servers.sh"]

+ 5 - 3
frameworks/C/h2o/setup.sh → frameworks/C/h2o/start-servers.sh

@@ -1,12 +1,12 @@
 #!/bin/bash
 
-fw_depends postgresql h2o mustache-c yajl
-
+TROOT="/"
 H2O_APP_HOME="${IROOT}/h2o_app"
 BUILD_DIR="${H2O_APP_HOME}_build"
 H2O_APP_PROFILE_PORT=54321
 H2O_APP_PROFILE_URL="http://127.0.0.1:$H2O_APP_PROFILE_PORT"
-NUM_WORKERS="$CPU_COUNT"
+NUM_WORKERS=$(nproc)
+CPU_COUNT=$(nproc)
 
 # A hacky way to detect whether we are running in the physical hardware or the cloud environment.
 if [[ "$CPU_COUNT" -gt 16 ]]; then
@@ -79,3 +79,5 @@ else
 	echo "Running h2o_app multithreaded."
 	run_h2o_app 0 "${H2O_APP_HOME}/bin" "${H2O_APP_HOME}/share/h2o_app"
 fi
+
+wait

+ 0 - 1
frameworks/C/libreactor/benchmark_config.json

@@ -3,7 +3,6 @@
   "tests": [
     {
       "default": {
-        "setup_file": "setup",
         "json_url": "/json",
         "plaintext_url": "/plaintext",
         "port": 8080,

+ 25 - 0
frameworks/C/libreactor/libreactor.dockerfile

@@ -0,0 +1,25 @@
+FROM tfb/gcc-6:latest
+
+COPY ./ ./
+
+RUN wget https://github.com/fredrikwidlund/libdynamic/releases/download/v1.1.0/libdynamic-1.1.0.tar.gz && \
+    tar xfz libdynamic-1.1.0.tar.gz && \
+    cd libdynamic-1.1.0 && \
+    ./configure CC=gcc-6 AR=gcc-ar-6 NM=gcc-nm-6 RANLIB=gcc-ranlib-6 && \
+    make && make install
+
+RUN wget https://github.com/fredrikwidlund/libreactor/releases/download/v1.0.0/libreactor-1.0.0.tar.gz && \
+    tar xfz libreactor-1.0.0.tar.gz && \
+    cd libreactor-1.0.0 && \
+    ./configure CC=gcc-6 AR=gcc-ar-6 NM=gcc-nm-6 RANLIB=gcc-ranlib-6 && \
+    make && make install
+
+RUN wget https://github.com/fredrikwidlund/libclo/releases/download/v0.1.0/libclo-0.1.0.tar.gz && \
+    tar xfz libclo-0.1.0.tar.gz && \
+    cd libclo-0.1.0 && \
+    ./configure CC=gcc-6 AR=gcc-ar-6 NM=gcc-nm-6 RANLIB=gcc-ranlib-6 && \
+    make && make install
+
+RUN make clean && make
+
+CMD ["./libreactor"]

+ 0 - 7
frameworks/C/libreactor/setup.sh

@@ -1,7 +0,0 @@
-#!/bin/bash
-
-fw_depends libreactor
-
-make clean && make
-
-./libreactor &

+ 0 - 1
frameworks/C/octane/benchmark_config.json

@@ -2,7 +2,6 @@
   "framework": "octane",
   "tests": [{
     "default": {
-      "setup_file": "setup",
       "plaintext_url": "/plaintext",
       "json_url": "/json",
       "port": 8000,

+ 16 - 0
frameworks/C/octane/octane.dockerfile

@@ -0,0 +1,16 @@
+FROM tfb/base:latest
+
+COPY ./ ./
+
+RUN apt install -yqq cmake automake libtool
+
+# May 22nd, 2017
+RUN git clone https://github.com/simongui/octane.git && \
+    cd octane && \
+    git checkout 8c28b1b83f1aa2817a401a3e8437a0af4ec53c28 && \
+    make
+
+ENV PATH=octane/build/:${PATH}
+ENV LD_PRELOAD=octane/lib/lockless_allocator/libllalloc.so.1.3
+
+CMD ["techempower_benchmarks"]

+ 0 - 5
frameworks/C/octane/setup.sh

@@ -1,5 +0,0 @@
-#!/bin/bash
-
-fw_depends octane
-
-LD_PRELOAD="$OCTANE_HOME/lib/lockless_allocator/libllalloc.so.1.3" techempower_benchmarks &

+ 0 - 2
frameworks/C/onion/.gitignore

@@ -1,2 +0,0 @@
-/assets.h
-/onion

+ 0 - 19
frameworks/C/onion/benchmark_config.json

@@ -2,26 +2,7 @@
   "framework": "onion",
   "tests": [{
     "default": {
-      "setup_file": "setup",
       "json_url": "/json",
-      "port": 8080,
-      "approach": "Realistic",
-      "classification": "Platform",
-      "database": "None",
-      "framework": "None",
-      "language": "C",
-      "flavor": "None",
-      "orm": "Raw",
-      "platform": "None",
-      "webserver": "None",
-      "os": "Linux",
-      "database_os": "Linux",
-      "display_name": "onion",
-      "notes": "",
-      "versus": "onion"
-    },
-    "raw": {
-      "setup_file": "setup",
       "db_url": "/db",
       "query_url": "/queries?queries=",
       "fortune_url": "/fortune",

+ 1 - 1
frameworks/C/onion/hello.c

@@ -334,7 +334,7 @@ int main(void){
 			ONION_ERROR("Cant create db connection: %s", mysql_error(data.db[i]));
 			return 1;
 		}
-		if (mysql_real_connect(data.db[i], "127.0.0.1", 
+		if (mysql_real_connect(data.db[i], "TFB-database",
                         "benchmarkdbuser", "benchmarkdbpass", "hello_world", 0, NULL, 0) == NULL) {
 			ONION_ERROR("Error %u: %s\n", mysql_errno(data.db[i]), mysql_error(data.db[i]));
 			return 1;

+ 24 - 0
frameworks/C/onion/onion.dockerfile

@@ -0,0 +1,24 @@
+FROM tfb/base:latest
+
+COPY ./ ./
+
+RUN apt install -yqq cmake libmysqlclient-dev libjson0-dev libgnutls-dev libgcrypt-dev
+
+ENV ONION_LOG noinfo
+
+# Latest commit on master as of July 10 2014
+# This is post tag v0.7, but pre any later tags
+
+RUN git clone https://github.com/davidmoreno/onion.git && \
+    cd onion && \
+    git checkout c460557bfc7d45fb6ba61cb6b7259480a67dde82 && \
+    mkdir -p build && \
+    cd build && \
+    cmake .. && \
+    make
+
+RUN make clean && \
+    rm -f onion/build/CMakeCache.txt && \
+    make
+
+CMD ["./hello"]

+ 0 - 11
frameworks/C/onion/setup.sh

@@ -1,11 +0,0 @@
-#!/bin/bash
-
-fw_depends mysql onion
-
-sed -i 's|127.0.0.1|'${DBHOST}'|g' hello.c
-
-make clean
-ln -s $IROOT/onion onion
-rm -f onion/build/CMakeCache.txt
-make
-./hello &

+ 0 - 5
frameworks/D/collie/.gitignore

@@ -1,5 +0,0 @@
- .directory
- .dub
- /collieHttp
- dub.selections.json
-http

+ 0 - 2
frameworks/D/collie/benchmark_config.json

@@ -2,7 +2,6 @@
   "framework": "collie",
   "tests": [{
     "default": {
-      "setup_file": "setup",
       "json_url": "/json",
       "plaintext_url": "/plaintext",
       "port": 8085,
@@ -22,7 +21,6 @@
       "versus": "Collie"
   },
     "ldc": {
-      "setup_file": "setup_ldc",
       "json_url": "/json",
       "plaintext_url": "/plaintext",
       "port": 8085,

+ 8 - 0
frameworks/D/collie/collie-ldc.dockerfile

@@ -0,0 +1,8 @@
+FROM tfb/d-lang:latest
+
+COPY ./ ./
+
+RUN dub upgrade --verbose
+RUN dub build -f -b release --compiler=ldc2
+
+CMD ["./http"]

+ 8 - 0
frameworks/D/collie/collie.dockerfile

@@ -0,0 +1,8 @@
+FROM tfb/d-lang:latest
+
+COPY ./ ./
+
+RUN dub upgrade --verbose
+RUN dub build -f -b release
+
+CMD ["./http"]

+ 0 - 13
frameworks/D/collie/setup.sh

@@ -1,13 +0,0 @@
-#!/bin/bash
-
-fw_depends dlang
-
-# Clean any files from last run
-rm -f http
-rm -rf .dub
-rm -f dub.selections.json
-
-dub upgrade --verbose
-dub build -f -b release
-
-./http &

+ 0 - 13
frameworks/D/collie/setup_ldc.sh

@@ -1,13 +0,0 @@
-#!/bin/bash
-
-fw_depends dlang
-
-# Clean any files from last run
-rm -f http
-rm -rf .dub
-rm -f dub.selections.json
-
-dub upgrade --verbose
-dub build -f -b release --compiler=ldc2
-
-./http &

+ 0 - 1
frameworks/D/hunt/benchmark_config.json

@@ -2,7 +2,6 @@
   "framework": "hunt",
   "tests": [{
     "default": {
-      "setup_file": "setup",
       "plaintext_url": "/plaintext",
       "json_url": "/json",
       "port": 8080,

+ 9 - 0
frameworks/D/hunt/hunt.dockerfile

@@ -0,0 +1,9 @@
+FROM tfb/d-lang:latest
+
+COPY ./ ./
+
+RUN dub upgrade --verbose
+
+RUN dub build -f -b release -v
+
+CMD ["./website"]

+ 0 - 2
frameworks/D/hunt/resources/main.html

@@ -1,2 +0,0 @@
-<html>
-</html>

+ 0 - 14
frameworks/D/hunt/setup.sh

@@ -1,14 +0,0 @@
-#!/bin/bash
-
-fw_depends dlang
-
-# Clean any files from last run
-rm -f website
-rm -rf .dub
-rm -f dub.selections.json
-
-dub upgrade --verbose
-
-dub build -f -b release -v
-
-./website

+ 0 - 0
frameworks/D/hunt/source/app/.gitkeeper


+ 0 - 8
frameworks/D/vibed/.gitignore

@@ -1,8 +0,0 @@
-.dub
-docs.json
-__dummy.html
-*.o
-*.obj
-*.dll
-*.exe
-/fwb

+ 0 - 4
frameworks/D/vibed/benchmark_config.json

@@ -2,7 +2,6 @@
   "framework": "vibed",
   "tests": [{
     "default": {
-      "setup_file": "setup",
       "json_url": "/json",
       "db_url": "/db",
       "query_url": "/queries?queries=",
@@ -26,7 +25,6 @@
       "versus": "vibed"
     },
     "dmd-pgsql": {
-      "setup_file": "setup_pgsql",
       "json_url": "/json",
       "db_url": "/db",
       "query_url": "/queries?queries=",
@@ -50,7 +48,6 @@
       "versus": "vibed"
     },
     "ldc": {
-      "setup_file": "setup_ldc",
       "json_url": "/json",
       "db_url": "/db",
       "query_url": "/queries?queries=",
@@ -74,7 +71,6 @@
       "versus": "vibed"
     },
     "ldc-pgsql": {
-      "setup_file": "setup_ldc_pgsql",
       "json_url": "/json",
       "db_url": "/db",
       "query_url": "/queries?queries=",

+ 0 - 13
frameworks/D/vibed/setup.sh

@@ -1,13 +0,0 @@
-#!/bin/bash
-
-fw_depends mongodb dlang
-
-# Clean any files from last run
-rm -f fwb
-rm -rf .dub
-
-dub upgrade --verbose
-
-dub build -b release --combined
-
-./fwb &

+ 0 - 13
frameworks/D/vibed/setup_ldc.sh

@@ -1,13 +0,0 @@
-#!/bin/bash
-
-fw_depends mongodb dlang
-
-# Clean any files from last run
-rm -f fwb
-rm -rf .dub
-
-dub upgrade --verbose
-
-dub build -b release --compiler=ldc2 --combined --verbose
-
-./fwb &

+ 0 - 13
frameworks/D/vibed/setup_ldc_pgsql.sh

@@ -1,13 +0,0 @@
-#!/bin/bash
-
-fw_depends postgresql dlang
-
-# Clean any files from last run
-rm -f fwb
-rm -rf .dub
-
-dub upgrade --verbose
-
-dub build -b release --compiler=ldc2 --combined --config=postgresql
-
-./fwb &

+ 0 - 13
frameworks/D/vibed/setup_pgsql.sh

@@ -1,13 +0,0 @@
-#!/bin/bash
-
-fw_depends postgresql dlang
-
-# Clean any files from last run
-rm -f fwb
-rm -rf .dub
-
-dub upgrade --verbose
-
-dub build -b release --combined --config=postgresql
-
-./fwb &

+ 10 - 0
frameworks/D/vibed/vibed-dmd-pgsql.dockerfile

@@ -0,0 +1,10 @@
+FROM tfb/d-lang:latest
+
+COPY ./ ./
+
+RUN apt install -yqq libpq-dev zlib1g-dev
+
+RUN dub upgrade --verbose
+RUN dub build -b release --combined --config=postgresql
+
+CMD ["./fwb"]

+ 10 - 0
frameworks/D/vibed/vibed-ldc-pgsql.dockerfile

@@ -0,0 +1,10 @@
+FROM tfb/d-lang:latest
+
+COPY ./ ./
+
+RUN apt install -yqq libpq-dev zlib1g-dev
+
+RUN dub upgrade --verbose
+RUN dub build -b release --compiler=ldc2 --combined --config=postgresql
+
+CMD ["./fwb"]

+ 10 - 0
frameworks/D/vibed/vibed-ldc.dockerfile

@@ -0,0 +1,10 @@
+FROM tfb/d-lang:latest
+
+COPY ./ ./
+
+RUN apt install -yqq zlib1g-dev
+
+RUN dub upgrade --verbose
+RUN dub build -b release --compiler=ldc2 --combined --verbose
+
+CMD ["./fwb"]

+ 8 - 0
frameworks/D/vibed/vibed.dockerfile

@@ -0,0 +1,8 @@
+FROM tfb/d-lang:latest
+
+COPY ./ ./
+
+RUN dub upgrade --verbose
+RUN dub build -b release --combined
+
+CMD ["./fwb"]

+ 0 - 1
frameworks/Dart/dart-raw/.gitignore

@@ -1 +0,0 @@
-packages/*

+ 0 - 7
frameworks/Dart/dart-raw/setup.sh

@@ -1,7 +0,0 @@
-#!/bin/bash
-
-fw_depends postgresql dart
-
-pub upgrade
-
-dart server.dart -a 0.0.0.0 -p 8080 -d ${MAX_CONCURRENCY} -i ${CPU_COUNT} &

+ 0 - 0
frameworks/Dart/dart-raw/README.md → frameworks/Dart/dart/README.md


+ 0 - 1
frameworks/Dart/dart-raw/benchmark_config.json → frameworks/Dart/dart/benchmark_config.json

@@ -2,7 +2,6 @@
   "framework": "dart",
   "tests": [{
     "default": {
-      "setup_file": "setup",
       "json_url": "/json",
       "db_url": "/db",
       "query_url": "/queries?queries=",

+ 7 - 0
frameworks/Dart/dart/dart.dockerfile

@@ -0,0 +1,7 @@
+FROM tfb/dart-lang:latest
+
+COPY ./ ./
+
+RUN pub upgrade
+
+CMD dart server.dart -a 0.0.0.0 -p 8080 -d $MAX_CONCURRENCY -i $CPU_COUNT

+ 0 - 0
frameworks/Dart/dart-raw/fortunes.mustache → frameworks/Dart/dart/fortunes.mustache


+ 0 - 0
frameworks/Dart/dart-raw/postgresql.yaml → frameworks/Dart/dart/postgresql.yaml


+ 0 - 0
frameworks/Dart/dart-raw/pubspec.yaml → frameworks/Dart/dart/pubspec.yaml


+ 0 - 0
frameworks/Dart/dart-raw/server.dart → frameworks/Dart/dart/server.dart


+ 0 - 0
frameworks/Dart/dart-raw/source_code → frameworks/Dart/dart/source_code


+ 0 - 2
frameworks/Dart/redstone/.gitignore

@@ -1,2 +0,0 @@
-packages/*
-.pub

+ 0 - 2
frameworks/Dart/redstone/benchmark_config.json

@@ -2,7 +2,6 @@
   "framework": "redstone",
   "tests": [{
     "default": {
-      "setup_file": "setup_postgresql",
       "json_url": "/json",
       "db_url": "/pg/db",
       "query_url": "/pg/queries?queries=",
@@ -26,7 +25,6 @@
       "versus": "dart"
     },
     "mongodb": {
-      "setup_file": "setup_mongodb",
       "db_url": "/mongo/db",
       "query_url": "/mongo/queries?queries=",
       "fortune_url": "/mongo/fortunes",

+ 7 - 0
frameworks/Dart/redstone/redstone-mongodb.dockerfile

@@ -0,0 +1,7 @@
+FROM tfb/dart-lang:latest
+
+COPY ./ ./
+
+RUN pub upgrade
+
+CMD dart server.dart -a 0.0.0.0 -p 8080 -d ${CPU_COUNT} -i ${CPU_COUNT}

+ 7 - 0
frameworks/Dart/redstone/redstone.dockerfile

@@ -0,0 +1,7 @@
+FROM tfb/dart-lang:latest
+
+COPY ./ ./
+
+RUN pub upgrade
+
+CMD dart server.dart -a 0.0.0.0 -p 8080 -d ${CPU_COUNT} -i ${CPU_COUNT}

+ 0 - 7
frameworks/Dart/redstone/setup.sh

@@ -1,7 +0,0 @@
-#!/bin/bash
-
-fw_depends dart
-
-pub upgrade
-
-dart server.dart -a 0.0.0.0 -p 8080 -d ${CPU_COUNT} -i ${CPU_COUNT} &

+ 0 - 5
frameworks/Dart/redstone/setup_mongodb.sh

@@ -1,5 +0,0 @@
-#!/bin/bash
-
-fw_depends mongodb
-
-source ./setup.sh

+ 0 - 5
frameworks/Dart/redstone/setup_postgresql.sh

@@ -1,5 +0,0 @@
-#!/bin/bash
-
-fw_depends postgresql
-
-source ./setup.sh

+ 0 - 2
frameworks/Dart/start/.gitignore

@@ -1,2 +0,0 @@
-packages/*
-/nginx.conf

+ 2 - 2
frameworks/Dart/start/benchmark_config.json

@@ -1,8 +1,8 @@
 {
   "framework": "start",
   "tests": [{
-    "default": { 
-      "setup_file": "setup_mongodb",
+    "default": {
+      "docker_files": ["start-nginx.dockerfile"],
       "db_url": "/db-mongo",
       "query_url": "/queries-mongo?queries=",
       "fortune_url": "/fortunes-mongo",

+ 0 - 17
frameworks/Dart/start/setup.sh → frameworks/Dart/start/nginx-conf.sh

@@ -1,20 +1,5 @@
 #!/bin/bash
 
-fw_depends dart nginx
-
-pub upgrade
-
-#
-# start dart servers
-#
-current=9001
-end=$(($current+$CPU_COUNT))
-while [ $current -lt $end ]; do
-  dart server.dart -a 127.0.0.1 -p $current -d ${CPU_COUNT} &
-  let current=current+1
-done
-
-
 #
 # create nginx configuration
 #
@@ -50,5 +35,3 @@ conf+="}"
 # write nginx configuration to disk
 #
 echo -e $conf > nginx.conf
-
-nginx -c $(pwd)/nginx.conf &

+ 0 - 5
frameworks/Dart/start/setup_mongodb.sh

@@ -1,5 +0,0 @@
-#!/bin/bash
-
-fw_depends mongodb
-
-source ./setup.sh

+ 0 - 5
frameworks/Dart/start/setup_postgresql.sh

@@ -1,5 +0,0 @@
-#!/bin/bash
-
-fw_depends postgresql
-
-source ./setup.sh

+ 8 - 0
frameworks/Dart/start/start-nginx.dockerfile

@@ -0,0 +1,8 @@
+FROM tfb/nginx:latest
+
+COPY ./ ./
+
+RUN chmod a+rwx nginx-conf.sh
+RUN ./nginx-conf.sh
+
+CMD ["nginx", "-c", "/nginx.conf", "-g", "daemon off;"]

+ 14 - 0
frameworks/Dart/start/start-servers.sh

@@ -0,0 +1,14 @@
+#!/bin/bash
+
+#
+# start dart servers
+#
+current=9001
+end=$(($current+$CPU_COUNT))
+while [ $current -lt $end ]; do
+  dart server.dart -a 127.0.0.1 -p $current -d ${CPU_COUNT} &
+  let current=current+1
+done
+
+wait
+

+ 9 - 0
frameworks/Dart/start/start.dockerfile

@@ -0,0 +1,9 @@
+FROM tfb/dart-lang:latest
+
+COPY ./ ./
+
+RUN pub upgrade
+
+RUN chmod a+rwx start-servers.sh
+
+CMD ["./start-servers.sh"]

+ 0 - 2
frameworks/Dart/stream/.gitignore

@@ -1,2 +0,0 @@
-packages/*
-/nginx.conf

+ 21 - 21
frameworks/Dart/stream/benchmark_config.json

@@ -2,26 +2,26 @@
   "framework": "stream",
   "tests": [{
      "default": {
-      "setup_file": "setup_mongodb",
-      "db_url": "/db-mongo",
-      "query_url": "/queries-mongo?queries=",
-      "fortune_url": "/fortunes-mongo",
-      "update_url": "/updates-mongo?queries=",
-      "port": 8080,
-      "approach": "Realistic",
-      "classification": "Micro",
-      "database": "MongoDB",
-      "framework": "stream",
-      "language": "Dart",
-      "flavor": "None",
-      "orm": "Raw",
-      "platform": "None",
-      "webserver": "nginx",
-      "os": "Linux",
-      "database_os": "Linux",
-      "display_name": "stream",
-      "notes": "",
-      "versus": "dart"
-    }
+       "docker_files": ["stream-nginx.dockerfile"],
+       "db_url": "/db-mongo",
+       "query_url": "/queries-mongo?queries=",
+       "fortune_url": "/fortunes-mongo",
+       "update_url": "/updates-mongo?queries=",
+       "port": 8080,
+       "approach": "Realistic",
+       "classification": "Micro",
+       "database": "MongoDB",
+       "framework": "stream",
+       "language": "Dart",
+       "flavor": "None",
+       "orm": "Raw",
+       "platform": "None",
+       "webserver": "nginx",
+       "os": "Linux",
+       "database_os": "Linux",
+       "display_name": "stream",
+       "notes": "",
+       "versus": "dart"
+     }
   }]
 }

+ 0 - 17
frameworks/Dart/stream/setup.sh → frameworks/Dart/stream/nginx-conf.sh

@@ -1,20 +1,5 @@
 #!/bin/bash
 
-fw_depends dart nginx
-
-pub upgrade
-
-#
-# start dart servers
-#
-current=9001
-end=$(($current+$CPU_COUNT))
-while [ $current -lt $end ]; do
-  dart server.dart -a 127.0.0.1 -p $current -d ${CPU_COUNT} &
-  let current=current+1
-done
-
-
 #
 # create nginx configuration
 #
@@ -50,5 +35,3 @@ conf+="}"
 # write nginx configuration to disk
 #
 echo -e $conf > nginx.conf
-
-nginx -c $(pwd)/nginx.conf &

+ 0 - 5
frameworks/Dart/stream/setup_mongodb.sh

@@ -1,5 +0,0 @@
-#!/bin/bash
-
-fw_depends mongodb
-
-source ./setup.sh

+ 0 - 5
frameworks/Dart/stream/setup_postgresql.sh

@@ -1,5 +0,0 @@
-#!/bin/bash
-
-fw_depends postgresql
-
-source ./setup.sh

+ 14 - 0
frameworks/Dart/stream/start-servers.sh

@@ -0,0 +1,14 @@
+#!/bin/bash
+
+#
+# start dart servers
+#
+current=9001
+end=$(($current+$CPU_COUNT))
+while [ $current -lt $end ]; do
+  dart server.dart -a 127.0.0.1 -p $current -d ${CPU_COUNT} &
+  let current=current+1
+done
+
+wait
+

+ 8 - 0
frameworks/Dart/stream/stream-nginx.dockerfile

@@ -0,0 +1,8 @@
+FROM tfb/nginx:latest
+
+COPY ./ ./
+
+RUN chmod a+rwx nginx-conf.sh
+RUN ./nginx-conf.sh
+
+CMD ["nginx", "-c", "/nginx.conf", "-g", "daemon off;"]

+ 9 - 0
frameworks/Dart/stream/stream.dockerfile

@@ -0,0 +1,9 @@
+FROM tfb/dart-lang:latest
+
+COPY ./ ./
+
+RUN pub upgrade
+
+RUN chmod a+rwx start-servers.sh
+
+CMD ["./start-servers.sh"]

+ 0 - 1
frameworks/Elixir/cowboy/benchmark_config.json

@@ -2,7 +2,6 @@
     "framework": "elixir-cowboy",
     "tests": [{
         "default": {
-            "setup_file": "setup",
             "json_url": "/json",
             "plaintext_url": "/plaintext",
             "port": 8080,

+ 11 - 0
frameworks/Elixir/cowboy/elixir-cowboy.dockerfile

@@ -0,0 +1,11 @@
+FROM tfb/elixir:latest
+
+COPY ./ ./
+
+ENV MIX_ENV=prod
+RUN mix local.hex --force
+RUN mix local.rebar --force
+RUN mix deps.get --force --only prod
+RUN mix compile --force
+
+CMD ["elixir", "--erl", "+K true +sbwt very_long +swt very_low", "--no-halt", "-S", "mix"]

+ 0 - 1
frameworks/Elixir/phoenix/benchmark_config.json

@@ -2,7 +2,6 @@
     "framework": "phoenix",
     "tests": [{
         "default": {
-            "setup_file": "setup",
             "json_url": "/json",
             "db_url": "/db",
             "query_url": "/queries?queries=",

+ 12 - 0
frameworks/Elixir/phoenix/phoenix.dockerfile

@@ -0,0 +1,12 @@
+FROM tfb/elixir:latest
+
+COPY ./ ./
+
+ENV MIX_ENV=prod
+
+RUN mix local.hex --force
+RUN mix local.rebar --force
+RUN mix deps.get --force --only prod
+RUN mix compile --force
+
+CMD ["elixir", "--erl", "+K true +sbwt very_long +swt very_low", "-S", "mix", "phoenix.server"]

+ 0 - 13
frameworks/Elixir/phoenix/setup.sh

@@ -1,13 +0,0 @@
-#!/bin/bash
-
-fw_depends postgresql elixir
-
-rm -rf _build deps
-
-export MIX_ENV=prod
-mix local.hex --force
-mix local.rebar --force
-mix deps.get --force --only prod
-mix compile --force
-
-elixir --erl "+K true +sbwt very_long +swt very_low" --detached -S mix phoenix.server

+ 0 - 1
frameworks/Erlang/chicagoboss/benchmark_config.json

@@ -2,7 +2,6 @@
   "framework": "chicagoboss",
   "tests": [{
     "default": {
-      "setup_file": "setup",
       "plaintext_url": "/plaintext",
       "json_url": "/json",
       "port": 8080,

+ 8 - 0
frameworks/Erlang/chicagoboss/chicagoboss.dockerfile

@@ -0,0 +1,8 @@
+FROM tfb/erlang:latest
+
+COPY ./ ./
+
+RUN rebar get-deps
+RUN rebar compile
+
+CMD erl -pa ebin deps/*/ebin +sbwt very_long +swt very_low -config boss -s boss -sname chicagoboss -noshell

+ 0 - 9
frameworks/Erlang/chicagoboss/setup.sh

@@ -1,9 +0,0 @@
-#!/bin/bash
-
-fw_depends erlang
-
-rm -rf deps/* ebin/*
-rebar get-deps
-rebar compile
-
-erl -pa ebin deps/*/ebin +sbwt very_long +swt very_low -config boss -s boss -sname chicagoboss -noshell -detached

+ 1 - 1
frameworks/Erlang/cowboy/Makefile

@@ -1,4 +1,4 @@
 all:
 	./rebar get-deps
 	./rebar compile
-	erl -pa ebin deps/*/ebin -s hello_world -noshell -detached
+	erl -pa ebin deps/*/ebin -s hello_world -noshell

+ 0 - 1
frameworks/Erlang/cowboy/benchmark_config.json

@@ -2,7 +2,6 @@
   "framework": "cowboy",
   "tests": [{
     "default": {
-      "setup_file": "setup",
       "plaintext_url": "/plaintext",
       "json_url": "/json",
       "db_url": "/db",

+ 8 - 0
frameworks/Erlang/cowboy/cowboy.dockerfile

@@ -0,0 +1,8 @@
+FROM tfb/erlang:latest
+
+COPY ./ ./
+
+RUN rebar get-deps
+RUN rebar compile
+
+CMD erl -pa ebin deps/*/ebin +sbwt very_long +swt very_low -s hello_world -noshell

+ 1 - 1
frameworks/Erlang/cowboy/rebar.config

@@ -1,6 +1,6 @@
 {deps,
  [
-  {jiffy, ".*", {git, "https://github.com/davisp/jiffy.git", {tag, "0.8.5"}}},
+  {jiffy, ".*", {git, "https://github.com/davisp/jiffy.git", {tag, "0.15.0"}}},
   {mimetypes, ".*", {git, "http://github.com/spawngrid/mimetypes.git", {branch, master}}},
   {emysql, ".*", {git, "https://github.com/deadtrickster/Emysql.git", "52b802098322aad372198b9f5fa9ae9a4c758ad1"}},
   {cowboy, ".*", {git, "https://github.com/extend/cowboy.git", {tag, "0.8.3"}}}

+ 0 - 9
frameworks/Erlang/cowboy/setup.sh

@@ -1,9 +0,0 @@
-#!/bin/bash
-
-fw_depends mysql erlang
-
-rm -rf deps/* ebin/*
-rebar get-deps
-rebar compile
-
-erl -pa ebin deps/*/ebin +sbwt very_long +swt very_low -s hello_world -noshell -detached

+ 0 - 1
frameworks/Erlang/elli/benchmark_config.json

@@ -2,7 +2,6 @@
   "framework": "elli",
   "tests": [{
     "default": {
-      "setup_file": "setup",
       "plaintext_url":"/plaintext",
       "json_url": "/json",
       "db_url": "/db",

+ 8 - 0
frameworks/Erlang/elli/elli.dockerfile

@@ -0,0 +1,8 @@
+FROM tfb/erlang:latest
+
+COPY ./ ./
+
+RUN rebar get-deps
+RUN rebar compile
+
+CMD erl -pa ebin deps/*/ebin +sbwt very_long +swt very_low -s elli_bench -noshell

+ 1 - 1
frameworks/Erlang/elli/rebar.config

@@ -1,6 +1,6 @@
 {deps,
  [
-  {jiffy, ".*", {git, "https://github.com/davisp/jiffy.git", {tag, "0.13.3"}}},
+  {jiffy, ".*", {git, "https://github.com/davisp/jiffy.git", {tag, "0.15.0"}}},
   {emysql, ".*", {git, "https://github.com/deadtrickster/Emysql.git", "52b802098322aad372198b9f5fa9ae9a4c758ad1"}},
   {elli, "", {git, "git://github.com/knutin/elli.git", {tag, "v1.0.5"}}}
  ]}.

+ 0 - 9
frameworks/Erlang/elli/setup.sh

@@ -1,9 +0,0 @@
-#!/bin/bash
-
-fw_depends erlang mysql
-
-rm -rf deps/* ebin/*
-rebar get-deps
-rebar compile
-
-erl -pa ebin deps/*/ebin +sbwt very_long +swt very_low -s elli_bench -noshell -detached

+ 0 - 1
frameworks/Erlang/mochiweb/benchmark_config.json

@@ -2,7 +2,6 @@
   "framework": "mochiweb",
   "tests": [{
     "default": {
-      "setup_file": "setup",
       "json_url": "/json",
       "plaintext_url": "/plaintext",
       "db_url": "/db",

+ 8 - 0
frameworks/Erlang/mochiweb/mochiweb.dockerfile

@@ -0,0 +1,8 @@
+FROM tfb/erlang:latest
+
+COPY ./ ./
+
+RUN rebar get-deps
+RUN rebar compile
+
+CMD erl +K true +sbwt very_long +swt very_low -pa ebin deps/*/ebin -boot start_sasl -config priv/app.config -s mochiweb_bench_app -noshell

+ 0 - 9
frameworks/Erlang/mochiweb/setup.sh

@@ -1,9 +0,0 @@
-#!/bin/bash
-
-fw_depends erlang mysql
-
-rm -rf deps/* ebin/*
-rebar get-deps
-rebar compile
-
-erl +K true +sbwt very_long +swt very_low -pa ebin deps/*/ebin -boot start_sasl -config priv/app.config -s mochiweb_bench_app

Some files were not shown because too many files changed in this diff