N-Queens

This is a test of the OpenMP version of a test that solves the N-queens problem. The board problem size is 18.

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

Test Created

6 December 2010

Last Updated

11 October 2019

Test Maintainer

Michael Larabel 

Test Type

Processor

Average Install Time

3 Seconds

Average Run Time

5 Minutes, 8 Seconds

Test Dependencies

C/C++ Compiler Toolchain

Accolades

150k+ Downloads

Supported Platforms


Public Result Uploads *Reported Test Completions **Reported Installs **Test Profile Page Views ***OpenBenchmarking.orgEventsN-Queens Popularity Statisticspts/n-queens2010.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.1116K32K48K64K80K
* 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 17 March 2024.

Revision History

pts/n-queens-1.2.1   [View Source]   Fri, 11 Oct 2019 11:15:32 GMT
Enable Windows support.

pts/n-queens-1.2.0   [View Source]   Thu, 25 Aug 2016 13:50:26 GMT
Update CFLAGS handling, update download links

pts/n-queens-1.1.0   [View Source]   Wed, 23 Jan 2013 11:48:38 GMT
Ensure OpenMP flag is passed to the C compiler.

pts/n-queens-1.0.0   [View Source]   Mon, 06 Dec 2010 15:00:36 GMT
Initial import into OpenBenchmarking.org

Suites Using This Test

Chess Test Suite

Multi-Core


Performance Metrics

Analyze Test Configuration:

N-Queens 1.0

Elapsed Time

OpenBenchmarking.org metrics for this test profile configuration based on 2,055 public results since 25 August 2016 with the latest data as of 15 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
Seconds (Average)
Mid-Tier
75th
> 7
65th
22
10 +/- 1
59th
6
12 +/- 1
53rd
11
14 +/- 1
Median
50th
15
44th
3
19 +/- 1
42nd
5
19 +/- 1
41st
4
20 +/- 1
40th
15
21 +/- 2
40th
3
21 +/- 1
40th
3
21 +/- 2
35th
14
26 +/- 1
34th
10
29 +/- 2
33rd
3
29 +/- 1
33rd
5
30 +/- 1
32nd
3
31 +/- 2
31st
3
31 +/- 1
30th
5
33 +/- 1
30th
7
33 +/- 2
29th
7
34 +/- 4
29th
3
35 +/- 2
28th
4
36 +/- 1
27th
3
38 +/- 4
Low-Tier
25th
> 41
24th
15
44 +/- 2
22nd
4
50 +/- 3
22nd
6
51 +/- 6
22nd
3
51 +/- 1
21st
6
52 +/- 5
19th
13
56 +/- 3
18th
5
59 +/- 3
16th
15
63 +/- 8
15th
3
69 +/- 4
13th
5
80 +/- 1
12th
3
91 +/- 5
11th
3
93 +/- 2
11th
4
95 +/- 10
10th
4
102 +/- 11
10th
3
110 +/- 9
5th
6
201 +/- 14
3rd
10
258 +/- 10
OpenBenchmarking.orgDistribution Of Public Results - Elapsed Time2054 Results Range From 0 To 13286 Seconds266532798106413301596186221282394266029263192345837243990425645224788505453205586585261186384665069167182744877147980824685128778904493109576984210108103741064010906111721143811704119701223612502127681303413300400800120016002000

Based on OpenBenchmarking.org data, the selected test / test configuration (N-Queens 1.0 - Elapsed Time) 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 BenchmarkElapsed TimeRun-Time48121620Min: 1 / Avg: 1.76 / Max: 13

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

OpenBenchmarking.orgPercent, Fewer Is BetterAverage Deviation Between RunsElapsed TimeDeviation246810Min: 0 / Avg: 0.23 / Max: 5

Does It Scale Well With Increasing Cores?

Yes, based on the automated analysis of the collected public benchmark data, this test / test settings does 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.

IntelAMDOpenBenchmarking.orgRelative Core Scaling To BaseN-Queens CPU Core ScalingElapsed Time24681012162432486496128918273645

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.
 
MOVDQU ADDSD CVTTSD2SI MOVDQA PUNPCKLQDQ PADDQ PUNPCKHQDQ PSUBQ MOVLPD MOVHPD PSLLDQ PSRLDQ MOVD PSHUFD MOVNTDQ MOVAPD MULSD XORPD SHUFPD UCOMISD ANDPD MOVMSKPD
SSE3 (SSE3)
Used by default on supported hardware.
 
LDDQU
SSSE3 (SSSE3)
Used by default on supported hardware.
 
PALIGNR PSHUFB
SSE 4.2 (SSE4_2)
Used by default on supported hardware.
Found on Intel processors since at least 2010.
Found on AMD processors since Bulldozer (2011).

 
PCMPISTRI
Used by default on supported hardware.
Found on Intel processors since Sandy Bridge (2011).
Found on AMD processors since Bulldozer (2011).

 
VZEROUPPER VBROADCASTSS VZEROALL
Used by default on supported hardware.
Found on Intel processors since Haswell (2013).
Found on AMD processors since Excavator (2016).

 
VEXTRACTI128 VPBROADCASTB VPBROADCASTD
Advanced Vector Extensions 512 (AVX512)
Used by default on supported hardware.
 
(ZMM REGISTER USE)
Last automated analysis: 18 January 2022

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)
IBM POWER (PowerPC) 64-bit
ppc64le
POWER9 44-Core
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-3A5000LL, Loongson-3A6000, Loongson-3A6000-HV
Intel / AMD x86 32-bit
i686
(Many Processors)
ARMv8 64-bit
armv8l
(Many Processors)
ARMv7 32-bit
armv7l
ARMv7 Cortex-A53 4-Core, ARMv7 Cortex-A72 4-Core, ARMv7 rev 1 4-Core, ARMv7 rev 2 4-Core, ARMv7 rev 3 4-Core, ARMv7 rev 3 8-Core, ARMv7 rev 4 4-Core
ARMv6 32-bit
armv6l
ARMv6-compatible rev 7
ARMv8 64-bit
aarch64
AArch64 rev 4, ARMv8, ARMv8 Cortex-A55 4-Core, ARMv8 Cortex-A72, ARMv8 Cortex-A72 16-Core, ARMv8 Cortex-A72 4-Core, ARMv8 Cortex-A76 4-Core, ARMv8 Cortex-A77 8-Core, ARMv8 Neoverse-N1, ARMv8 Neoverse-N1 64-Core, ARMv8 Neoverse-N1 80-Core, ARMv8 Neoverse-N2 4-Core, ARMv8 Neoverse-V1, ARMv8 rev 0 4-Core, ARMv8 rev 0 6-Core, ARMv8 rev 1 4-Core, ARMv8 rev 3 6-Core, Ampere ARMv8 Neoverse-N1 128-Core, Ampere ARMv8 Neoverse-N1 160-Core, Ampere ARMv8 Neoverse-N1 256-Core, Ampere Altra ARMv8 Neoverse-N1 160-Core, Ampere Altra ARMv8 Neoverse-N1 80-Core, Ampere eMAG ARMv8 32-Core, FT2000AHK, HUAWEI Kunpeng 920, Rockchip ARMv8 Cortex-A76 4-Core, rk1-mainline-emmc, rk1-rok-emmc

Recent Test Results

OpenBenchmarking.org Results Compare

1 System - 7 Benchmark Results

AMD Ryzen Threadripper PRO 7965WX 24-Cores - ASUS Pro WS WRX90E-SAGE SE - AMD Device 14a4

Debian 12 - 6.1.0-18-amd64 - KDE Plasma 5.27.5

1 System - 205 Benchmark Results

rk1-mainline-emmc - Turing Machines RK1 - 32GB

Ubuntu 22.04 - 6.7.0 - 1.3.255

1 System - 201 Benchmark Results

rk1-rok-emmc - Turing Machines RK1 - 32GB

Ubuntu 22.04 - 5.10.160-rockchip - GCC 11.4.0

3 Systems - 205 Benchmark Results

ARMv8 Cortex-A76 - Turing Machines RK1 - 32GB

Ubuntu 22.04 - 6.7.0 - 1.3.255

3 Systems - 415 Benchmark Results

ARMv8 Cortex-A76 - Raspberry Pi 5 Model B Rev 1.0 - 4096MB

Debian 12 - 6.1.0-rpi7-rpi-2712 - GCC 12.2.0

3 Systems - 489 Benchmark Results

ARMv8 Cortex-A76 - Turing Machines RK1 - 32GB

Ubuntu 22.04 - 6.7.0 - 1.3.255

1 System - 23 Benchmark Results

ARMv8 Cortex-A72 - BCM2835 Raspberry Pi 400 Rev 1.0 - Broadcom BCM2711

Debian 12 - 6.1.0-rpi6-rpi-v8 - X Server

4 Systems - 23 Benchmark Results

ARMv8 Cortex-A72 - Raspberry Pi 400 Rev 1.0 - Broadcom BCM2711

Debian 12 - 6.1.0-rpi8-rpi-v8 - X Server

1 System - 5 Benchmark Results

ARMv8 Cortex-A77 - HUAWEI SP1KVVM - 16GB

Kylin v10 - 5.4.96-11-kr9a0 - X Server + Wayland

3 Systems - 10 Benchmark Results

ARMv8 Cortex-A72 - Raspberry Pi 400 Rev 1.0 - Broadcom BCM2711

Debian 12 - 6.1.0-rpi8-rpi-v8 - X Server

1 System - 1 Benchmark Result

AMD Ryzen 5 5500 - Oracle VirtualBox v1.2 - Intel 440FX 82441FX PMC

Ubuntu 22.04 - 6.2.0-35-generic - GNOME Shell 42.9

1 System - 27 Benchmark Results

ARMv8 Cortex-A76 - Raspberry Pi 5 Model B Rev 1.0 - 4096MB

Debian 12 - 6.1.0-rpi7-rpi-2712 - GCC 12.2.0

2 Systems - 27 Benchmark Results

ARMv8 Cortex-A76 - Raspberry Pi 5 Model B Rev 1.0 - 4096MB

Debian 12 - 6.1.0-rpi7-rpi-2712 - GCC 12.2.0

Most Popular Test Results

OpenBenchmarking.org Results Compare

3 Systems - 268 Benchmark Results

Intel Core i5-2520M - HP 161C - Intel 2nd Generation Core DRAM

Ubuntu 18.04 - 4.18.0-20-generic - GNOME Shell 3.28.3

6 Systems - 1421 Benchmark Results

Unknown - Marvell Armada 3720 Board - 2048MB

Ubuntu 16.04 - 4.4.52-armada-17.06.2-g12feccb - GCC 5.4.0 20160609

11 Systems - 217 Benchmark Results

AMD Ryzen 9 5900X 12-Core - ASUS ROG CROSSHAIR VIII HERO - AMD Starship

Ubuntu 20.04 - 5.9.0-050900-generic - GNOME Shell 3.36.4

2 Systems - 178 Benchmark Results

Intel Core i9-7980XE - ASUS PRIME X299-A - Intel Sky Lake-E DMI3 Registers

Ubuntu 18.04 - 4.15.2-041502-generic - GNOME Shell 3.26.2

12 Systems - 593 Benchmark Results

AMD Ryzen 5 3600XT 6-Core - MSI X470 GAMING M7 AC - AMD Starship

Ubuntu 20.04 - 5.8.0-050800daily20200622-generic - GNOME Shell 3.36.2

7 Systems - 62 Benchmark Results

Intel Core i9-7960X - MSI X299 SLI PLUS - 4 x 4096 MB 3000MHz

Microsoft Windows 10 Pro Build 19008 - 10.0 - 26.20.12028.2

2 Systems - 601 Benchmark Results

2 x Intel Xeon E5-2690 v4 - Intel S2600WTT v.......... - Intel Xeon E7 v4

Debian 9.4 - 4.9.0-6-amd64 - GCC 6.3.0 20170516 + Clang 3.8.1-24

3 Systems - 182 Benchmark Results

AMD Ryzen Threadripper 1950X 16-Core - ASUS ROG STRIX X399-E GAMING - AMD Device 1450

Ubuntu 17.10 - 4.13.0-32-generic - KDE Frameworks 5

1 System - 62 Benchmark Results

ICT Loongson-3A R3 - Unknown - AMD RS780 + SB7x0

Loongnix 1.0 - 3.10.84-16.fc21.loongson.mips64el - MATE 1.8.1

2 Systems - 59 Benchmark Results

AMD Ryzen 7 3700X 8-Core - MSI MEG X570 GODLIKE - AMD Device 1480

Clear Linux OS 31470 - 5.3.8-854.native - GNOME Shell 3.34.1

6 Systems - 104 Benchmark Results

AMD Ryzen Threadripper 1950X 16-Core - Gigabyte X399 AORUS Gaming 7 - AMD Family 17h

Ubuntu 18.04 - 4.18.0-999-generic - GNOME Shell 3.28.2

3 Systems - 56 Benchmark Results

AMD Ryzen 3 2200G with Radeon Vega - Gigabyte AX370-Gaming 5 - AMD Device 15d0

Ubuntu 17.10 - 4.15.1-041501-generic - GNOME Shell 3.26.2

Find More Test Results