Git Product home page Git Product logo

benchmark's Introduction

luxas/benchmark

Extends [Roy Longbottoms Raspberry Pi benchmarks](http://www.roylongbottom.org.uk/Raspberry Pi Benchmarks.htm). This Docker image compiles and executes the most of them, and collects hand-picked data from the benchmarks. Then it runs a C++ script, which summarizes and calculates the benchmark data.

The reference point is 100 points and a Raspberry Pi 1 Model B should perform 100 in every test.

So, this way you may roughly measure how fast other computers or ARM boards are compared to a RPi 1. For the moment it benchmarks only single-core performance.

And seriously, you should take these benchmarks with a big grain of salt. But they're useful anyway.

Running the benchmarks

The images are pushed to Docker Hub, so it's easy to run directly:

$ docker run -it luxas/benchmark-arm
$ docker run -it luxas/benchmark-amd64

Building the images

For amd64:

$ make ARCH=amd64

For arm, from an amd64 host:

$ make ARCH=arm

Results

A results file will be in /bench/results.json inside the container.

Example output for Raspberry Pi 2:

{
	"overall": "223",
	"cpu": "150",
	"ram": "298",
	"real": "222",
	"subPerf": {
		"floatingPoint_whetstone": "126",
		"integerPerf_dhrystone": "116",
		"linearAlgebraSinglePoint_linpack": "182",
		"linearAlgebraDoublePoint_linpack": "185",
		"kernelDoublePrecision_liverloops": "142",
		"L1CacheMFLOPS_l1flops": "130",
		"L2CacheMFLOPS_l2flops": "318",
		"RAMCacheSpeed_ramflops": "388",
		"RAMMIPS_rammips": "511",
		"wordReadingBusSpeed_busspeed": "144",
		"compileTimeAllBenchmarks": "222"
	},
	"rawData": {
		"floatingPoint_whetstone": "296",
		"integerPerf_dhrystone": "1010",
		"linearAlgebraSinglePoint_linpack": "104",
		"linearAlgebraDoublePoint_linpack": "78",
		"kernelDoublePrecision_liverloops": "87",
		"L1CacheMFLOPS_l1flops": "121",
		"L2CacheMFLOPS_l2flops": "121",
		"RAMCacheSpeed_ramflops": "70",
		"RAMMIPS_rammips": "686",
		"wordReadingBusSpeed_busspeed": "989",
		"compileTimeAllBenchmarks": "57"
	}
}

Some notes:

  • overall is the average value of cpu, ram and real
  • cpu is the average value of floatingPoint_whetstone, integerPerf_dhrystone, linearAlgebraSinglePoint_linpack, linearAlgebraDoublePoint_linpack and kernelDoublePrecision_liverloops
  • ram is the average value of L1CacheMFLOPS_l1flops, L2CacheMFLOPS_l2flops, RAMCacheSpeed_ramflops, RAMMIPS_rammips and wordReadingBusSpeed_busspeed
  • real is the value of compileTimeAllBenchmarks
  • subPerf is calculated values of how much better the machine did score compared to a RPi 1 Model B.
  • rawData is the (sometimes calculated) raw output from Roy Longbottom benchmarks. Except for compileTimeAllBenchmarks, which represents how many seconds it took for the machine to compile the source code into binary files.

Contribute

If you like more precise benchmarks and like the idea of running the same benchmarks on ARM, amd64 and other architectures, feel free to create issues and pull requests.

benchmark's People

Contributors

luxas avatar

Watchers

James Cloos avatar  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.