#benchmark #benchmarks #performance #web-frameworks

knewmanTE ce1d8b8fe3 Merge pull request #2408 from volyrique/master 8 rokov pred
.github c3626d6da6 updated PR Template now that Round 13 is over 8 rokov pred
config 84c46a4c74 Setup improvements (#2409) 8 rokov pred
deployment c546a307e9 Removing runner-user forever 8 rokov pred
frameworks ce1d8b8fe3 Merge pull request #2408 from volyrique/master 8 rokov pred
toolset 27d114b78e Clean up apt get installs in prerequisites.sh (#2384) 8 rokov pred
.gitignore 3a889cbf7a update .gitignore 9 rokov pred
.mailmap 66235b61f7 Update mailmap 10 rokov pred
.travis.yml 5412f5ec76 Fix #2389 apt error for MySQL in Travis 8 rokov pred
LICENSE 8bc496bba6 Corrected third clause to remove unwanted "of the" 10 rokov pred
README.md 586f1572e8 Updated readme to make changing dir clearer 9 rokov pred
benchmark.cfg.example c5713b21be Merge pull request #2403 from TechEmpower/password-prompt-removal 8 rokov pred

README.md

Welcome to TechEmpower Framework Benchmarks (TFB)

Build Status Documentation Status Issue Stats Issue Stats

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#, Clojure, Groovy, Dart, JavaScript, Erlang, Haskell, Scala, Perl, Lua, C, 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 Amazon EC2 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

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. Move into the vagrant-development directory.

    $ cd FrameworkBenchmarks/deployment/vagrant-development
    
  3. Turn on the VM (takes at least 20 minutes).

    $ vagrant up
    
  4. Enter the VM.

    $ vagrant ssh
    
  5. Move into the FrameworkBenchmarks directory in the vm.

    vagrant@TFB-all:~$ cd ~/FrameworkBenchmarks
    
  6. Run a test.

    vagrant@TFB-all:~/FrameworkBenchmarks$ toolset/run-tests.py --install server --mode verify --test beego
    

Note: --install server only needs to be added the first time that a tests is run. The dependencies should already be installed for subsequent runs.

Note: In order to run the same test again the results (located at FrameworkBenchmarks/results) directory needs to be removed prior to running the test again. This directory is automatically added when tests are run.

Official Documentation

Our official documentation can be found at frameworkbenchmarks.readthedocs.org. If you find any errors or areas for improvement within the docs, feel free to either submit a pull request or issue at the documentation repository.

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 at our Google Group, or chat with us on Freenode at #techempower-fwbm.