Forráskód Böngészése

add luxure benchmark (#7830)

Co-authored-by: Robert Masen <r.email>
Robert Masen 2 éve
szülő
commit
30f73a17c4

+ 22 - 0
frameworks/Lua/luxure/README.md

@@ -0,0 +1,22 @@
+# Luxure Benchmarking Test
+
+### Test Type Implementation Source Code
+
+* [JSON](./server.lua)
+* [PLAINTEXT](./server.lua)
+
+## Important Libraries
+The tests were run with:
+* [luasocket](https://www.github.com/lunarmodules/luasocket)
+* [cosock](https://www.github.com/cosock/cosock)
+* [luncheon](https://www.github.com/cosock/luncheon)
+* [dkjson](https://github.com/LuaDist/dkjson)
+
+## Test URLs
+### JSON
+
+http://localhost:8080/json
+
+### PLAINTEXT
+
+http://localhost:8080/plaintext

+ 26 - 0
frameworks/Lua/luxure/benchmark_config.json

@@ -0,0 +1,26 @@
+{
+  "framework": "luxure",
+  "tests": [
+    {
+      "default": {
+        "json_url": "/json",
+        "plaintext_url": "/plaintext",
+        "port": 8080,
+        "approach": "Realistic",
+        "classification": "Micro",
+        "database": "None",
+        "framework": "Luxure",
+        "language": "Lua",
+        "flavor": "None",
+        "orm": "None",
+        "platform": "None",
+        "webserver": "None",
+        "os": "Linux",
+        "database_os": "Linux",
+        "display_name": "Luxure",
+        "notes": "",
+        "versus": "Express"
+      }
+    }
+  ]
+}

+ 36 - 0
frameworks/Lua/luxure/luxure.dockerfile

@@ -0,0 +1,36 @@
+FROM ubuntu:22.04
+
+COPY ./server.lua /
+
+RUN DEBIAN_FRONTEND=noninteractiv \
+  apt-get update \
+  && apt-get install -y \
+  build-essential \
+  libreadline-dev \
+  unzip \
+  curl \
+  wget \
+  libssl-dev \
+  && curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gz \
+  && tar -zxf lua-5.3.5.tar.gz \
+  && cd lua-5.3.5 \
+  && make linux test \
+  && make install \
+  && cd .. \
+  && rm -rf lua-5.3.5 \
+  && rm ./lua-5.3.5.tar.gz \
+  && wget https://luarocks.org/releases/luarocks-3.8.0.tar.gz \
+  && tar zxpf luarocks-3.8.0.tar.gz \
+  && cd luarocks-3.8.0 \
+  && ./configure --with-lua-include=/usr/local/include \
+  && make \
+  && make install \
+  && cd .. \
+  && rm -rf ./luarocks-3.8.0 \
+  && rm luarocks-3.8.0.tar.gz \
+  && luarocks install luxure \
+  && luarocks install dkjson
+
+EXPOSE 8080
+
+CMD lua /server.lua

+ 22 - 0
frameworks/Lua/luxure/server.lua

@@ -0,0 +1,22 @@
+local lux = require "luxure"
+local dkjson = require "dkjson"
+local server = lux.Server.new()
+
+server:use(function(req, res, next)
+  res:add_header("server", "luxure")
+  res:add_header("date", os.date("!%a, %d %b %Y %X GMT"))
+  next(req, res)
+end)
+
+server:get("/json", function(req, res)
+  res:add_header("content-type", "application/json")
+  res:send(dkjson.encode({ message = "Hello, World!" }))
+end)
+
+server:get("/plaintext", function(req,res)
+  res:add_header("content-type", "text/plain")
+  res:send("Hello, World!")
+end)
+
+server:listen(8080)
+server:run()