Coder Social home page Coder Social logo

open-source-contributions / benchmark-kit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from phpbenchmarks/benchmark-kit

0.0 1.0 0.0 753 KB

phpbenchmarks.com kit to add your benchmark.

Home Page: http://www.phpbenchmarks.com

Shell 0.01% Dockerfile 0.01% PHP 0.18% HTML 99.81% CSS 0.01%

benchmark-kit's Introduction


www.phpbenchmarks.com

Benchmark kit is a tool to add a framework or a template engine benchmark on phpbenchmarks.com.

Documentation

Requirements

You will need Docker ^18.06 to make it work.

Installation

Everything you need to use benchmark kit is is hpbenchkit.sh.

Install it as global bin and give it execute mode:

sudo wget https://raw.githubusercontent.com/phpbenchmarks/benchmark-kit/master/phpbenchkit.sh -O /usr/local/bin/phpbenchkit
sudo chmod +x /usr/local/bin/phpbenchkit

Then call phpbenchkit, it will add vhosts and run Docker benchmatk kit container:

# Add vhosts if needed, run Docker container and call bin/console to show available commands
phpbenchkit

# Restart Docker container
phpbenchkit --restart

# Stop Docker container
phpbenchkit --stop

# Update docker image and phpbenchkit command
phpbenchkit --selfupdate

Benchmark kit commands

List available commands:

phpbenchkit

Almost all commands accept this option:

  • --skip-source-code-urls: don't validate source code urls, usefull while you are in development.

#1 Ask us to create repositories

You can ask us to create repositories with contact form.

Tell us which component and version you want to benchmark, and your github username to allow you to commit on this repositories.

We will send you an email when repositories will be created.

#2 Initialize code

To make your benchmark work you will need some files into .phpbenchmarks directory:

  • Configuration.php: configuration of benchmarked component.
  • initBenchmark.sh: called before the benchmark to initialize everything (composer install, cache warmup etc).
  • vhost.conf: nginx virtual host configuration.
  • responseBody/: benchmark url body will be compared to files in this directory to validate it's content.
  • composer/composer.lock.phpX.Y: created by phpbenchkit composer:update to install dependencies by PHP version.

All this files can be created and configured with configure commands.

See list of configure commands with phpbenchkit configure:.

You can call phpbenchkit configure:benchmark to create all of them or use the one your need.

phpbenchkit composer:update
# you can specify a version of php
phpbenchkit composer:update 7.1

You can validate each part of your configuration with validate.

See list of validation commands with with phpbenchkit validate:.

#4 Add required feaures for benchmarks

Choose the component type and benchmark type you want to code:

Note that all component benchmarks needs to bo validated to make your component appear on phpbenchmarks.com.

#5 Test and validate your code

Docker container provide a domain to test your code: http://benchmark-kit.loc.

To change PHP version (CLI and FPM):

phpbenchkit 

When you think it's ok, use phpbenchkit validate:benchmark to validate it.

#6 Submit your code

When phpbenchkit validate:benchmark say it's good, push your code, then you can tell us to launch benchmarks with contact form.

Thank you!

benchmark-kit's People

Contributors

steevanb avatar tantrisse avatar ruudboon avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.