Bullet Physics Engine

This is a benchmark of the Bullet Physics Engine.

To run this test with the Phoronix Test Suite, the basic command is: phoronix-test-suite benchmark bullet.

Project Site

bulletphysics.org

Test Created

6 December 2010

Last Updated

28 December 2016

Test Maintainer

Michael Larabel 

Test Type

Processor

Average Install Time

17 Seconds

Average Run Time

8 Minutes, 27 Seconds

Test Dependencies

C/C++ Compiler Toolchain + CMake + OpenGL Utility Kit (GLUT)

Accolades

250k+ Downloads

Supported Platforms


Public Result Uploads *Reported Test Completions **Reported Installs **Test Profile Page Views ***OpenBenchmarking.orgEventsBullet Physics Engine Popularity Statisticspts/bullet2010.122011.052011.102012.042012.102013.032013.082014.012014.062014.112015.042015.092016.022016.072016.122017.052017.102018.032018.082019.012019.062019.112020.042020.092021.022021.072021.122022.052022.102023.032023.082024.016K12K18K24K30K
* Uploading of benchmark result data to OpenBenchmarking.org is always optional (opt-in) via the Phoronix Test Suite for users wishing to share their results publicly.
** Data based on those opting to upload their test results to OpenBenchmarking.org and users enabling the opt-in anonymous statistics reporting while running benchmarks from an Internet-connected platform.
*** Test profile page view reporting began March 2021.
Data updated weekly as of 21 April 2024.
3000 Fall26.5%Raytests15.2%1000 Stack16.2%1000 Convex19.5%Convex Trimesh22.6%Test Option PopularityOpenBenchmarking.org

Revision History

pts/bullet-1.2.2   [View Source]   Wed, 28 Dec 2016 16:44:37 GMT
Correct download links, add sha256

pts/bullet-1.2.1   [View Source]   Sun, 31 Aug 2014 10:56:43 GMT
Fix NUM_CPU_JOBS for building Bullet as reported by carcinoma on GitHub.

pts/bullet-1.2.0   [View Source]   Wed, 23 Jan 2013 19:08:44 GMT
Update against upstream Bullet 2.81 release.

pts/bullet-1.1.0   [View Source]   Sat, 27 Aug 2011 12:24:12 GMT
Update to upstream Bullet 2.78

pts/bullet-1.0.0   [View Source]   Mon, 06 Dec 2010 14:34:02 GMT
Initial import into OpenBenchmarking.org

Suites Using This Test

C/C++ Compiler Tests


Performance Metrics

Analyze Test Configuration:

Bullet Physics Engine 2.81

Test: Prim Trimesh

OpenBenchmarking.org metrics for this test profile configuration based on 1,296 public results since 23 January 2013 with the latest data as of 17 November 2021.

Below is an overview of the generalized performance for components where there is sufficient statistically significant data based upon user-uploaded results. It is important to keep in mind particularly in the Linux/open-source space there can be vastly different OS configurations, with this overview intended to offer just general guidance as to the performance expectations.

Component
Percentile Rank
# Compatible Public Results
Seconds (Average)
99th
6
0.65 +/- 0.02
99th
10
0.66 +/- 0.03
97th
34
0.70 +/- 0.08
96th
12
0.76 +/- 0.02
95th
4
0.78 +/- 0.01
94th
7
0.79 +/- 0.02
94th
20
0.79 +/- 0.02
92nd
8
0.79 +/- 0.02
92nd
6
0.80 +/- 0.03
89th
3
0.84 +/- 0.02
87th
13
0.85 +/- 0.01
82nd
42
0.89 +/- 0.08
82nd
3
0.89 +/- 0.04
81st
5
0.90 +/- 0.07
79th
7
0.93 +/- 0.02
78th
12
0.94 +/- 0.03
Mid-Tier
75th
> 0.96
75th
28
0.97 +/- 0.04
74th
4
0.99 +/- 0.06
72nd
4
1.02 +/- 0.08
71st
5
1.02 +/- 0.01
68th
10
1.04 +/- 0.04
65th
3
1.06 +/- 0.01
63rd
20
1.09 +/- 0.01
61st
11
1.10 +/- 0.07
58th
35
1.11 +/- 0.02
57th
5
1.12 +/- 0.01
57th
30
1.12 +/- 0.04
53rd
5
1.15 +/- 0.08
52nd
11
1.16 +/- 0.04
51st
60
1.19 +/- 0.01
Median
50th
1.19
48th
5
1.20 +/- 0.07
43rd
9
1.22 +/- 0.16
43rd
9
1.22 +/- 0.03
43rd
3
1.24 +/- 0.03
42nd
38
1.25 +/- 0.04
41st
8
1.26 +/- 0.02
35th
5
1.34 +/- 0.18
33rd
6
1.38 +/- 0.02
33rd
3
1.41 +/- 0.08
33rd
50
1.41 +/- 0.14
Low-Tier
25th
> 1.50
24th
4
1.52 +/- 0.02
19th
4
1.62 +/- 0.09
15th
7
1.72 +/- 0.09
13th
4
1.83 +/- 0.02
11th
4
1.96 +/- 0.08
10th
4
2.03 +/- 0.10
5th
5
3.87 +/- 0.08
OpenBenchmarking.orgDistribution Of Public Results - Test: Prim Trimesh1296 Results Range From 0 To 20 Seconds2468101214161820222430060090012001500

Based on OpenBenchmarking.org data, the selected test / test configuration (Bullet Physics Engine 2.81 - Test: Prim Trimesh) has an average run-time of 2 minutes. By default this test profile is set to run at least 3 times but may increase if the standard deviation exceeds pre-defined defaults or other calculations deem additional runs necessary for greater statistical accuracy of the result.

OpenBenchmarking.orgMinutesTime Required To Complete BenchmarkTest: Prim TrimeshRun-Time246810Min: 1 / Avg: 1 / Max: 1

Based on public OpenBenchmarking.org results, the selected test / test configuration has an average standard deviation of 0.4%.

OpenBenchmarking.orgPercent, Fewer Is BetterAverage Deviation Between RunsTest: Prim TrimeshDeviation246810Min: 0 / Avg: 0.43 / Max: 5

Does It Scale Well With Increasing Cores?

No, based on the automated analysis of the collected public benchmark data, this test / test settings does not generally scale well with increasing CPU core counts. Data based on publicly available results for this test / test settings, separated by vendor, result divided by the reference CPU clock speed, grouped by matching physical CPU core count, and normalized against the smallest core count tested from each vendor for each CPU having a sufficient number of test samples and statistically significant data.

AMDIntelOpenBenchmarking.orgRelative Core Scaling To BaseBullet Physics Engine CPU Core ScalingTest: Prim Trimesh4812162432640.77711.55422.33133.10843.8855

Notable Instruction Set Usage

Notable instruction set extensions supported by this test, based on an automatic analysis by the Phoronix Test Suite / OpenBenchmarking.org analytics engine.

Instruction Set
Support
Instructions Detected
SSE2 (SSE2)
Used by default on supported hardware.
 
MOVDQA PUNPCKLQDQ CVTSS2SD MOVDQU MOVD COMISD PSHUFD CVTSD2SS MOVUPD CVTPD2PS MULSD SHUFPD CVTSI2SD DIVSD MOVAPD
Requires passing a supported compiler/build flag (verified with targets: sandybridge, skylake, tigerlake, cascadelake, sapphirerapids, alderlake, znver2, znver3).
Found on Intel processors since Sandy Bridge (2011).
Found on AMD processors since Bulldozer (2011).

 
VZEROUPPER VINSERTF128 VEXTRACTF128 VPERM2F128 VBROADCASTSD VBROADCASTSS
Requires passing a supported compiler/build flag (verified with targets: skylake, tigerlake, cascadelake, sapphirerapids, alderlake, znver2, znver3).
Found on Intel processors since Haswell (2013).
Found on AMD processors since Excavator (2016).

 
VPERMD VEXTRACTI128 VINSERTI128 VPERM2I128 VPERMQ VPBROADCASTQ VPBROADCASTD
FMA (FMA)
Requires passing a supported compiler/build flag (verified with targets: skylake, tigerlake, cascadelake, sapphirerapids, alderlake, znver2, znver3).
Found on Intel processors since Haswell (2013).
Found on AMD processors since Bulldozer (2011).

 
VFMADD231PS VFNMADD132PS VFMADD132PS VFNMADD231PS VFMADD132SS VFNMADD132SS VFMADD231SS VFMSUB132SS VFNMADD231SS VFMADD213SS VFNMSUB231SS VFNMADD213SS VFMSUB231SS VFMSUB132PS VFMSUB213SS VFNMSUB132SS VFNMSUB132PS VFMSUB231PS VFNMSUB231PS
Advanced Vector Extensions 512 (AVX512)
Requires passing a supported compiler/build flag (verified with targets: cascadelake, sapphirerapids).
 
(ZMM REGISTER USE)
The test / benchmark does honor compiler flag changes.
Last automated analysis: 17 January 2022

This test profile binary relies on the shared libraries libm.so.6, libc.so.6.