All Projects → TechEmpower → Frameworkbenchmarks

TechEmpower / Frameworkbenchmarks

Licence: other
Source for the TechEmpower Framework Benchmarks project

Programming Languages

java
68154 projects - #9 most used programming language
C#
18002 projects
PHP
23972 projects - #3 most used programming language
Dockerfile
14818 projects
C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Frameworkbenchmarks

Web Frameworks
Which is the fastest web framework?
Stars: ✭ 6,125 (-0.52%)
Mutual labels:  framework, performance, benchmark
Web Tooling Benchmark
JavaScript benchmark for common web developer workloads
Stars: ✭ 290 (-95.29%)
Mutual labels:  performance, benchmark
Laravel Zero
A PHP framework for console artisans
Stars: ✭ 2,821 (-54.18%)
Mutual labels:  framework, performance
Iris
The fastest HTTP/2 Go Web Framework. AWS Lambda, gRPC, MVC, Unique Router, Websockets, Sessions, Test suite, Dependency Injection and more. A true successor of expressjs and laravel | 谢谢 https://github.com/kataras/iris/issues/1329 |
Stars: ✭ 21,587 (+250.61%)
Mutual labels:  framework, performance
Uibench
UI Benchmark
Stars: ✭ 163 (-97.35%)
Mutual labels:  framework, benchmark
Yandex Tank
Load and performance benchmark tool
Stars: ✭ 2,110 (-65.73%)
Mutual labels:  framework, performance
Pyperformance
Python Performance Benchmark Suite
Stars: ✭ 406 (-93.41%)
Mutual labels:  performance, benchmark
Are We Fast Yet
Are We Fast Yet? Comparing Language Implementations with Objects, Closures, and Arrays
Stars: ✭ 161 (-97.39%)
Mutual labels:  performance, benchmark
Ubiquity
Ubiquity framework
Stars: ✭ 480 (-92.2%)
Mutual labels:  framework, performance
Nbench
Performance benchmarking and testing framework for .NET applications 📈
Stars: ✭ 495 (-91.96%)
Mutual labels:  performance, benchmark
Microservices Framework Benchmark
Raw benchmarks on throughput, latency and transfer of Hello World on popular microservices frameworks
Stars: ✭ 615 (-90.01%)
Mutual labels:  framework, benchmark
Foxify
The fast, easy to use & typescript ready web framework for Node.js
Stars: ✭ 138 (-97.76%)
Mutual labels:  framework, performance
Android Readthefuckingsourcecode
😜 记录日常的开发技巧,开发中遇到的技术重点、难点,各个知识点的总结,优质面试题等等。持续更新...
Stars: ✭ 1,665 (-72.96%)
Mutual labels:  framework, performance
Fiber
⚡️ Express inspired web framework written in Go
Stars: ✭ 17,334 (+181.53%)
Mutual labels:  framework, performance
Gin
Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
Stars: ✭ 53,971 (+776.58%)
Mutual labels:  framework, performance
Fperf
Framework of performance testing
Stars: ✭ 316 (-94.87%)
Mutual labels:  performance, benchmark
Sltbench
C++ benchmark tool. Practical, stable and fast performance testing framework.
Stars: ✭ 137 (-97.77%)
Mutual labels:  performance, benchmark
Kubestone
Performance benchmarks for Kubernetes
Stars: ✭ 159 (-97.42%)
Mutual labels:  performance, benchmark
Gearbox
Gearbox ⚙️ is a web framework written in Go with a focus on high performance
Stars: ✭ 455 (-92.61%)
Mutual labels:  framework, performance
Fastexpressioncompiler
Fast ExpressionTree compiler to delegate
Stars: ✭ 631 (-89.75%)
Mutual labels:  performance, benchmark

Welcome to TechEmpower Framework Benchmarks (TFB)

Build Status

If you're new to the project, welcome! Please feel free to ask questions here. We encourage new frameworks and contributors to ask questions. We're here to help!

This project provides representative performance measures across a wide field of web application frameworks. With much help from the community, coverage is quite broad and we are happy to broaden it further with contributions. The project presently includes frameworks on many languages including Go, Python, Java, Ruby, PHP, C#, F#,Clojure, Groovy, Dart, JavaScript, Erlang, Haskell, Scala, Perl, Lua, C, and others. The current tests exercise plaintext responses, JSON serialization, database reads and writes via the object-relational mapper (ORM), collections, sorting, server-side templates, and XSS counter-measures. Future tests will exercise other components and greater computation.

Read more and see the results of our tests on cloud and physical hardware. For descriptions of the test types that we run, see the test requirements section.

If you find yourself in a directory or file that you're not sure what the purpose is, checkout our file structure in our documentation, which will briefly explain the use of relevant directories and files.

Quick Start Guide

To get started developing you'll need to install docker or see our Quick Start Guide using vagrant

  1. Clone TFB.

     $ git clone https://github.com/TechEmpower/FrameworkBenchmarks.git
    
  2. Change directories

     $ cd FrameworkBenchmarks
    
  3. Run a test.

     $ ./tfb --mode verify --test gemini
    

Explanation of the ./tfb script

The run script is pretty wordy, but each and every flag is required. If you are using windows, either adapt the docker command at the end of the ./tfb shell script (replacing ${SCRIPT_ROOT} with /c/path/to/FrameworkBenchmarks), or use vagrant.

The command looks like this: docker run -it --rm --network tfb -v /var/run/docker.sock:/var/run/docker.sock -v [FWROOT]:/FrameworkBenchmarks techempower/tfb [ARGS]

  • -it tells docker to run this in 'interactive' mode and simulate a TTY, so that ctrl+c is propagated.
  • --rm tells docker to remove the container as soon as the toolset finishes running, meaning there aren't hundreds of stopped containers lying around.
  • --network=tfb tells the container to join the 'tfb' Docker virtual network
  • The first -v specifies which Docker socket path to mount as a volume in the running container. This allows docker commands run inside this container to use the host container's docker to create/run/stop/remove containers.
  • The second -v mounts the FrameworkBenchmarks source directory as a volume to share with the container so that rebuilding the toolset image is unnecessary and any changes you make on the host system are available in the running toolset container.
  • techempower/tfb is the name of toolset container to run

A note on Windows

  • Docker expects Linux-style paths. If you cloned on your C:\ drive, then [ABS PATH TO THIS DIR] would be /c/FrameworkBenchmarks.
  • Docker for Windows understands /var/run/docker.sock even though that is not a valid path on Windows, but only when using Linux containers (it doesn't work with Windows containers and LCOW). Docker Toolbox may not understand /var/run/docker.sock, even when using Linux containers - use at your own risk.

Quick Start Guide (Vagrant)

Get started developing quickly by utilizing vagrant with TFB. Git, Virtualbox and vagrant are required.

  1. Clone TFB.

     $ git clone https://github.com/TechEmpower/FrameworkBenchmarks.git
    
  2. Change directories

     $ cd FrameworkBenchmarks/deployment/vagrant
    
  3. Build the vagrant virtual machine

     $ vagrant up
    
  4. Run a test

     $ vagrant ssh
     $ tfb --mode verify --test gemini
    

Add a New Test

Either on your computer, or once you open an SSH connection to your vagrant box, start the new test initialization wizard.

    vagrant@TFB-all:~/FrameworkBenchmarks$ ./tfb --new

This will walk you through the entire process of creating a new test to include in the suite.

Resources

Official Documentation

Our official documentation can be found in the wiki. If you find any errors or areas for improvement within the docs, feel free to open an issue in this repo.

Live Results

Results of continuous benchmarking runs are available in real time here.

Data Visualization

If you have a results.json file that you would like to visualize, you can do that here. You can also attach a runid parameter to that url where runid is a run listed on tfb-status like so: https://www.techempower.com/benchmarks/#section=test&runid=fd07b64e-47ce-411e-8b9b-b13368e988c6

Contributing

The community has consistently helped in making these tests better, and we welcome any and all changes. Reviewing our contribution practices and guidelines will help to keep us all on the same page. The contribution guide can be found in the TFB documentation.

Join in the conversation in the Discussions tab, on Twitter, or chat with us on Freenode at #techempower-fwbm.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].