Skip to content

Commit

Permalink
Merge pull request #65 from tbrand/new-env
Browse files Browse the repository at this point in the history
New env
  • Loading branch information
tbrand authored Sep 3, 2017
2 parents 0f8570e + e353925 commit 1af51ae
Show file tree
Hide file tree
Showing 70 changed files with 2,487 additions and 429 deletions.
10 changes: 5 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ scala: akkahttp
# Akka-HTTP
akkahttp:
cd scala/akkahttp; sbt assembly
ln -s -f ../scala/akkahttp/target/scala-2.12/server_scala_akkahttp bin/.
ln -s -f ../scala/akkahttp/bin/server_scala_akkahttp bin/.

# --- C# ---
csharp: aspnetcore
Expand All @@ -148,13 +148,13 @@ japronto:
# --- Benchmarker ---
# client
client:
cd benchmarker; crystal build src/client.cr -o bin/client --release
ln -s -f ../benchmarker/bin/client bin/.
cd tools; crystal build src/client.cr -o bin/client --release
ln -s -f ../tools/bin/client bin/.

# benchmarker
benchmarker:
cd benchmarker; crystal build src/benchmarker.cr -o bin/benchmarker --release
ln -s -f ../benchmarker/bin/benchmarker bin/.
cd tools; crystal build src/benchmarker.cr -o bin/benchmarker --release
ln -s -f ../tools/bin/benchmarker bin/.

# Cleaning all executables
clean:
Expand Down
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ Each framework has to have two features; routing and parsing path parameters.

## Result

<img src="https://raw.githubusercontent.com/tbrand/which_is_the_fastest/master/imgs/result.png" width="1000"/>
[HERE](https://github.com/tbrand/which_is_the_fastest/tree/master/res)

**Current target frameworks (middlewares)**
## Current target frameworks (middlewares)

- Ruby
- [Rails](https://github.com/rails/rails)
Expand Down Expand Up @@ -42,11 +42,11 @@ Each framework has to have two features; routing and parsing path parameters.
- [sanic](https://github.com/channelcat/sanic)
- [japronto](https://github.com/squeaky-pl/japronto)

See Development section when you want to add new languages for frameworks.
See Development section when you want to add new languages or frameworks.

## The rule

I want to know the response time, not a usability. So full-stack framework is at a disadvantage.
We want to know the response time, not a usability. So full-stack framework is at a disadvantage.
- Each server has no special logics.
- Each server's executable is named as `server_[Lauguage]_[Framework]`. (For example, `server_ruby_sinatra`)
- There are only 3 routes
Expand Down Expand Up @@ -132,7 +132,7 @@ In the above example, 16 threads requests 1000 * 3 times.
So 48000 requests are sent in total.

## Using Docker
Setup servers by using `docker` is in **work in progress**. Currently, crystal and ruby servers are supported. For example
Setup servers by using `docker` is under **WIP**. Currently, crystal and ruby servers are supported. For example
```bash
docker-compose up rails
```
Expand Down Expand Up @@ -165,3 +165,4 @@ Anyway, you don't have to care about details since maintainer can fix them after
## Contributors

- [tbrand](https://github.com/tbrand) Taichiro Suzuki - creator, maintainer
- [OvermindDL1](https://github.com/OvermindDL1) OvermindDL1 - maintainer
4 changes: 2 additions & 2 deletions crystal/kemal/shard.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ version: 1.0
shards:
kemal:
github: kemalcr/kemal
version: 0.18.3
version: 0.20.0

kilt:
github: jeromegn/kilt
version: 0.3.3
version: 0.4.0

radix:
github: luislavena/radix
Expand Down
6 changes: 3 additions & 3 deletions crystal/router.cr/shard.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ shards:
github: luislavena/radix
version: 0.3.8

route:
github: tbrand/route.cr
version: 0.1.10
router:
github: tbrand/router.cr
version: 0.1.12

3 changes: 2 additions & 1 deletion csharp/aspnetcore/aspnetcore.csproj
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp1.1</TargetFramework>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
Expand Down
2 changes: 1 addition & 1 deletion csharp/aspnetcore/server_csharp_aspnetcore
Original file line number Diff line number Diff line change
@@ -1 +1 @@
cd csharp/aspnetcore; dotnet bin/Debug/netcoreapp1.1/aspnetcore.dll
cd csharp/aspnetcore; dotnet run
12 changes: 6 additions & 6 deletions elixir/plug/mix.lock
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
%{"cowboy": {:hex, :cowboy, "1.0.4", "a324a8df9f2316c833a470d918aaf73ae894278b8aa6226ce7a9bf699388f878", [:make, :rebar], [{:cowlib, "~> 1.0.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "~> 1.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm"},
"cowlib": {:hex, :cowlib, "1.0.2", "9d769a1d062c9c3ac753096f868ca121e2730b9a377de23dec0f7e08b1df84ee", [:make], [], "hexpm"},
"distillery": {:hex, :distillery, "1.3.5", "d13d3a5282c8e7b2128383e9b4491dac39dc9ab37b43fc000f10e687057cfacd", [:mix], [], "hexpm"},
"mime": {:hex, :mime, "1.1.0", "01c1d6f4083d8aa5c7b8c246ade95139620ef8effb009edde934e0ec3b28090a", [:mix], [], "hexpm"},
"plug": {:hex, :plug, "1.3.5", "7503bfcd7091df2a9761ef8cecea666d1f2cc454cbbaf0afa0b6e259203b7031", [:mix], [{:cowboy, "~> 1.0.1 or ~> 1.1", [hex: :cowboy, repo: "hexpm", optional: true]}, {:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}], "hexpm"},
"ranch": {:hex, :ranch, "1.3.2", "e4965a144dc9fbe70e5c077c65e73c57165416a901bd02ea899cfd95aa890986", [:rebar3], [], "hexpm"}}
%{"cowboy": {:hex, :cowboy, "1.0.4", "a324a8df9f2316c833a470d918aaf73ae894278b8aa6226ce7a9bf699388f878", [], [{:cowlib, "~> 1.0.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "~> 1.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm"},
"cowlib": {:hex, :cowlib, "1.0.2", "9d769a1d062c9c3ac753096f868ca121e2730b9a377de23dec0f7e08b1df84ee", [], [], "hexpm"},
"distillery": {:hex, :distillery, "1.5.1", "7ad7354214959c0f65f57ddd49478c81c3b2733ca2e5ccfb9eb55351108466aa", [], [], "hexpm"},
"mime": {:hex, :mime, "1.1.0", "01c1d6f4083d8aa5c7b8c246ade95139620ef8effb009edde934e0ec3b28090a", [], [], "hexpm"},
"plug": {:hex, :plug, "1.4.3", "236d77ce7bf3e3a2668dc0d32a9b6f1f9b1f05361019946aae49874904be4aed", [], [{:cowboy, "~> 1.0.1 or ~> 1.1", [hex: :cowboy, repo: "hexpm", optional: true]}, {:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}], "hexpm"},
"ranch": {:hex, :ranch, "1.4.0", "10272f95da79340fa7e8774ba7930b901713d272905d0012b06ca6d994f8826b", [], [], "hexpm"}}
Binary file modified go/echo/server_go_echo
Binary file not shown.
Binary file modified go/fasthttprouter/server_go_fasthttprouter
Binary file not shown.
Binary file removed imgs/result.png
Binary file not shown.
14 changes: 7 additions & 7 deletions neph.yml
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ scala:
akkahttp:
command: |
sbt assembly
ln -s -f ../scala/akkahttp/target/scala-2.12/server_scala_akkahttp ../../bin/.
ln -s -f ../scala/akkahttp/bin/server_scala_akkahttp ../../bin/.
dir:
scala/akkahttp

Expand Down Expand Up @@ -233,22 +233,22 @@ aspnetcore:
benchmarker:
command: |
crystal build src/benchmarker.cr -o bin/benchmarker --release
ln -s -f ../benchmarker/bin/benchmarker ../bin/.
ln -s -f ../tools/bin/benchmarker ../bin/.
depends_on:
client
dir:
benchmarker
tools
src:
benchmarker/src/benchmarker.cr
tools/src/benchmarker.cr

client:
command: |
crystal build src/client.cr -o bin/client --release
ln -s -f ../benchmarker/bin/client ../bin/.
ln -s -f ../tools/bin/client ../bin/.
dir:
benchmarker
tools
src:
benchmarker/src/client.cr
tools/src/client.cr

clean_bin:
command:
Expand Down
Loading

0 comments on commit 1af51ae

Please sign in to comment.