Fhourstones

This integer benchmark solves positions in the game of Connect-4, as played on a vertical 7x6 board. By default, it uses a 64Mb transposition table with the twobig replacement strategy. Positions are represented as 64-bit bitboards, and the hash function is computed using a single 64-bit modulo operation, giving 64-bit machines a slight edge. The alpha-beta searcher sorts moves dynamically based on the history heuristic.

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

Project Site

homepages.cwi.nl

Test Created

6 December 2010

Last Updated

4 March 2018

Test Maintainer

Michael Larabel 

Test Type

Processor

Average Install Time

2 Seconds

Average Run Time

14 Minutes, 27 Seconds

Test Dependencies

C/C++ Compiler Toolchain

Accolades

200k+ Downloads + 5k+ Public Benchmark Results

Supported Platforms


Public Result Uploads *Reported Test Completions **Reported Installs **Test Profile Page Views ***OpenBenchmarking.orgEventsFhourstones Popularity Statisticspts/fhourstones2010.122011.052011.102012.032012.082013.012013.062013.112014.042014.092015.022015.072015.122016.052016.102017.032017.082018.012018.062018.112019.042019.092020.022020.072020.122021.052021.102022.032022.082023.012023.062023.1113K26K39K52K65K
* 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 26 March 2024.

Revision History

pts/fhourstones-1.1.2   [View Source]   Sun, 04 Mar 2018 11:48:52 GMT
Add Windows support.

pts/fhourstones-1.1.1   [View Source]   Wed, 18 Mar 2015 20:43:26 GMT
Update download links

pts/fhourstones-1.1.0   [View Source]   Mon, 06 Dec 2010 14:47:20 GMT
Initial import into OpenBenchmarking.org

Suites Using This Test

Single-Threaded


Performance Metrics

Analyze Test Configuration:

Fhourstones 3.1

Complex Connect-4 Solving

OpenBenchmarking.org metrics for this test profile configuration based on 5,890 public results since 26 February 2011 with the latest data as of 25 March 2024.

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
Kpos / sec (Average)
100th
6
25990 +/- 21
100th
6
20399 +/- 1545
100th
21
20392 +/- 614
100th
17
20196 +/- 298
100th
13
19069 +/- 2127
100th
7
19051 +/- 1145
100th
4
18331 +/- 1018
100th
9
17963 +/- 1427
100th
5
17500 +/- 171
100th
10
16994 +/- 811
99th
11
16100 +/- 470
99th
3
16021 +/- 1744
98th
37
15771 +/- 501
98th
5
15311 +/- 1447
97th
5
15246 +/- 2054
97th
25
15185 +/- 153
97th
15
15137 +/- 1030
97th
3
15123 +/- 47
96th
23
14957 +/- 1028
96th
16
14923 +/- 200
96th
3
14828 +/- 75
95th
11
14741 +/- 1264
95th
30
14682 +/- 296
95th
22
14525 +/- 956
94th
4
14430 +/- 1843
94th
3
14348 +/- 736
94th
5
14313 +/- 702
94th
3
14282 +/- 24
94th
57
14269 +/- 1063
94th
3
14238 +/- 1132
94th
21
14238 +/- 321
93rd
22
14110 +/- 652
93rd
15
14006 +/- 1044
93rd
7
13951 +/- 1111
92nd
56
13778 +/- 239
91st
13
13741 +/- 521
91st
8
13728 +/- 31
91st
4
13668 +/- 93
91st
41
13658 +/- 378
90th
3
13586 +/- 398
89th
26
13390 +/- 184
88th
3
13303 +/- 475
88th
4
13283 +/- 55
87th
23
13202 +/- 528
87th
11
13180 +/- 1636
87th
9
13163 +/- 145
87th
25
13157 +/- 271
86th
4
13150 +/- 514
86th
23
13109 +/- 363
86th
31
13092 +/- 862
85th
21
12993 +/- 611
85th
9
12966 +/- 722
82nd
22
12795 +/- 410
82nd
20
12789 +/- 397
81st
25
12701 +/- 435
81st
3
12700 +/- 1113
81st
33
12695 +/- 553
81st
10
12645 +/- 103
81st
7
12642 +/- 585
80th
53
12620 +/- 358
80th
3
12593 +/- 1424
80th
39
12591 +/- 1102
80th
5
12549 +/- 1471
79th
3
12531 +/- 501
79th
7
12511 +/- 551
79th
13
12507 +/- 862
79th
3
12491 +/- 1260
79th
6
12459 +/- 416
78th
3
12445 +/- 61
78th
3
12378 +/- 962
78th
7
12377 +/- 593
77th
3
12373 +/- 490
76th
10
12276 +/- 928
76th
5
12261 +/- 478
Mid-Tier
75th
< 12244
75th
4
12191 +/- 293
74th
3
12151 +/- 161
73rd
4
12087 +/- 668
70th
22
11979 +/- 799
69th
30
11958 +/- 346
68th
7
11921 +/- 246
68th
17
11918 +/- 597
67th
8
11913 +/- 1158
67th
20
11907 +/- 188
66th
6
11876 +/- 747
65th
56
11839 +/- 219
64th
9
11795 +/- 470
64th
23
11790 +/- 383
64th
5
11786 +/- 271
63rd
3
11766 +/- 28
63rd
3
11765 +/- 1421
63rd
6
11754 +/- 144
62nd
45
11727 +/- 1084
62nd
3
11709 +/- 394
62nd
49
11701 +/- 483
60th
6
11604 +/- 430
59th
12
11515 +/- 537
58th
4
11446 +/- 1045
57th
5
11357 +/- 503
55th
17
11245 +/- 145
54th
5
11212 +/- 253
54th
5
11209 +/- 791
54th
4
11194 +/- 795
54th
4
11190 +/- 779
54th
31
11162 +/- 128
54th
15
11120 +/- 441
53rd
31
11098 +/- 669
53rd
6
11087 +/- 508
53rd
3
11087 +/- 1192
53rd
7
11048 +/- 271
53rd
3
11036 +/- 293
53rd
7
11028 +/- 330
51st
3
10833 +/- 993
51st
24
10824 +/- 270
Median
50th
10819
50th
4
10815 +/- 715
50th
4
10773 +/- 73
50th
3
10757 +/- 1029
50th
16
10696 +/- 851
49th
10
10661 +/- 12
49th
3
10634 +/- 118
49th
5
10614 +/- 330
49th
39
10593 +/- 561
49th
4
10587 +/- 141
49th
9
10570 +/- 1341
49th
3
10558 +/- 219
48th
12
10538 +/- 377
48th
3
10508 +/- 30
47th
11
10448 +/- 357
46th
8
10334 +/- 540
46th
9
10331 +/- 670
46th
3
10317 +/- 518
46th
25
10308 +/- 181
46th
3
10303 +/- 231
46th
5
10295 +/- 1268
46th
10
10283 +/- 60
45th
3
10251 +/- 1151
45th
3
10247 +/- 14
45th
3
10239 +/- 336
45th
24
10192 +/- 394
44th
6
10119 +/- 505
43rd
11
10022 +/- 124
43rd
5
10018 +/- 281
43rd
3
9983 +/- 104
43rd
15
9975 +/- 1042
43rd
16
9923 +/- 934
42nd
15
9885 +/- 1145
42nd
8
9855 +/- 441
42nd
3
9823 +/- 831
42nd
5
9822 +/- 835
42nd
6
9788 +/- 750
40th
5
9665 +/- 341
40th
21
9653 +/- 1221
40th
3
9624 +/- 17
40th
5
9605 +/- 66
39th
4
9571 +/- 915
39th
24
9521 +/- 201
38th
3
9509 +/- 135
38th
3
9486 +/- 48
38th
5
9473 +/- 795
38th
6
9441 +/- 368
37th
25
9405 +/- 275
37th
3
9380 +/- 859
36th
3
9330 +/- 1122
35th
3
9220 +/- 397
35th
4
9186 +/- 680
35th
3
9179 +/- 9
35th
5
9177 +/- 833
35th
4
9172 +/- 403
35th
3
9131 +/- 284
34th
7
9120 +/- 394
34th
6
9114 +/- 79
34th
6
9107 +/- 1330
34th
7
9092 +/- 180
34th
3
9085 +/- 223
34th
6
9081 +/- 753
34th
4
9080 +/- 263
34th
3
9004 +/- 562
33rd
7
8987 +/- 630
33rd
13
8986 +/- 499
33rd
3
8984 +/- 157
33rd
11
8959 +/- 774
32nd
4
8821 +/- 182
32nd
5
8780 +/- 715
32nd
4
8775 +/- 543
31st
3
8757 +/- 123
30th
9
8666 +/- 1066
30th
5
8600 +/- 338
29th
6
8567 +/- 1153
29th
3
8566 +/- 74
29th
6
8561 +/- 557
29th
4
8518 +/- 212
29th
3
8517 +/- 301
29th
8
8499 +/- 22
29th
4
8487 +/- 1186
29th
4
8485 +/- 61
28th
3
8365 +/- 770
27th
5
8328 +/- 261
27th
4
8325 +/- 852
27th
4
8294 +/- 487
27th
3
8290 +/- 24
26th
4
8198 +/- 302
26th
7
8196 +/- 618
Low-Tier
25th
< 8183
25th
22
8179 +/- 224
24th
15
8099 +/- 127
24th
4
8028 +/- 462
23rd
4
7857 +/- 570
22nd
4
7729 +/- 136
22nd
3
7694 +/- 330
21st
17
7599 +/- 412
21st
3
7582 +/- 487
21st
3
7569 +/- 5
21st
9
7523 +/- 267
20th
3
7355 +/- 855
19th
15
7286 +/- 219
18th
5
7128 +/- 288
18th
5
7115 +/- 282
18th
18
7060 +/- 276
17th
5
6875 +/- 107
17th
3
6839 +/- 341
16th
4
6596 +/- 12
15th
3
6529 +/- 951
15th
4
6465 +/- 694
15th
3
6456 +/- 615
14th
15
6394 +/- 12
14th
3
6334 +/- 11
13th
18
6282 +/- 8
13th
3
6162 +/- 392
12th
9
6011 +/- 808
11th
6
5912 +/- 124
11th
10
5735 +/- 109
10th
7
5526 +/- 22
10th
22
5472 +/- 522
10th
3
5413 +/- 203
9th
3
5234 +/- 3
9th
3
5060 +/- 210
8th
3
4969 +/- 237
7th
3
4641 +/- 20
7th
6
4610 +/- 464
7th
3
4437 +/- 187
7th
19
4342 +/- 42
6th
10
4286 +/- 287
6th
20
4106 +/- 197
5th
15
3925 +/- 240
4th
4
3282 +/- 87
3rd
3
3242 +/- 41
3rd
18
3027 +/- 313
2nd
7
2885 +/- 30
2nd
10
2529 +/- 121
OpenBenchmarking.orgDistribution Of Public Results - Complex Connect-4 Solving5889 Results Range From 714 To 1479113766 Kpos / sec7142958297659165238887475001183297621479120241774942862070765482366588102662410722958233343254055963549878583845701204141523824437346444733169065028991685324814305620636925916459546212282166508104786803927407099750027395572647691395267987217888283040508578863128874685749170508369466330989762153601005797622103537988410649621461094544408112412667011537089321183291194121287345612424557181272037980130162024213312025041360784766139036702814199492901449531552147911381413002600390052006500

Based on OpenBenchmarking.org data, the selected test / test configuration (Fhourstones 3.1 - Complex Connect-4 Solving) has an average run-time of 9 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 BenchmarkComplex Connect-4 SolvingRun-Time612182430Min: 3 / Avg: 8.64 / Max: 28

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

OpenBenchmarking.orgPercent, Fewer Is BetterAverage Deviation Between RunsComplex Connect-4 SolvingDeviation246810Min: 0 / Avg: 0.5 / 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 BaseFhourstones CPU Core ScalingComplex Connect-4 Solving246810121620243240560.72711.45422.18132.90843.6355

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.
 
CVTSI2SD DIVSD ADDSD MOVDQU PSRLDQ MOVDQA MOVD
Last automated analysis: 17 January 2022

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

Tested CPU Architectures

This benchmark has been successfully tested on the below mentioned architectures. The CPU architectures listed is where successful OpenBenchmarking.org result uploads occurred, namely for helping to determine if a given test is compatible with various alternative CPU architectures.

CPU Architecture
Kernel Identifier
Verified On
Intel / AMD x86 64-bit
x86_64
(Many Processors)
SPARC64
sparc64
UltraSparc T2
RISC-V 64-bit
riscv64
SiFive RISC-V, rv64imafdcvsu, sifive rocket0
IBM POWER (PowerPC) 64-bit
ppc64le
POWER8, POWER8E, POWER9 altivec supported 44-Core, POWER9 altivec supported 64-Core
IBM POWER (PowerPC) 64-bit
ppc64
POWER8E
IBM POWER (PowerPC)
ppc
(Many Processors)
MIPS 64-bit
mips64
ICT Loongson-3A R3, Loongson-3A R3, Loongson-3A3000 V0.9 FPU V0.1
Loongson LoongArch 64-bit
loongarch64
Loongson-3A5000, Loongson-3A5000-HV, Loongson-3A5000LL, Loongson-3A6000, Loongson-3C5000L
Intel / AMD x86 32-bit
i686
(Many Processors)
Intel / AMD x86 32-bit
i386
(Many Processors)
ARMv8 64-bit
armv8l
ARMv8 rev 12 8-Core
ARMv7 32-bit
armv7l
ARMv7 rev 1 4-Core
ARMv8 64-bit
arm64
Apple, Apple M1, Apple M1 Max
ARMv8 64-bit
aarch64
AArch64 rev 1, AArch64 rev 4, ARMv8 Cortex-A53 4-Core, ARMv8 Cortex-A53 8-Core, ARMv8 Cortex-A55 4-Core, ARMv8 Cortex-A57 6-Core, ARMv8 Cortex-A72 4-Core, ARMv8 Cortex-A72 6-Core, ARMv8 Cortex-A73, ARMv8 Cortex-A73 4-Core, ARMv8 Cortex-A73 6-Core, ARMv8 Cortex-A73 8-Core, ARMv8 Cortex-A76 4-Core, ARMv8 Cortex-A78E 6-Core, ARMv8 Neoverse-N1, ARMv8 rev 0 6-Core, ARMv8 rev 3 6-Core, Apple M1, Cortex A57 rev 1, FT2000AHK, Rockchip ARMv8 4-Core, Rockchip ARMv8 Cortex-A55 4-Core, Rockchip ARMv8 Cortex-A72 6-Core, Rockchip ARMv8 Cortex-A76 4-Core, Rockchip ARMv8 Cortex-A76 6-Core, SiFive RISC-V