download

Welcome to TechEmpower Framework Benchmarks (TFB)

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 GoPythonJavaRubyPHPC#ClojureGroovyDartJavaScriptErlangHaskellScalaPerlLuaC, and others. The current tests exercise plaintext responses, JSON seralization, 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 documenation, 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.

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

  1. Run a test.

4.   $ ./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]

A note on Windows:

Quick Start Guide (Vagrant)

Get started developing quickly by utilizing vagrant with TFB. GitVirtualbox and vagrant are required.

  1. Clone TFB.

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

  1. Change directories

4.   $ cd FrameworkBenchmarks/deployment/vagrant

  1. Build the vagrant virtual machine

6.   $ vagrant up

  1. Run a test

8.   $ vagrant ssh

9.   $ 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.