Cython Benchmark

Cython provides a superset of Python that is geared to deliver C-like levels of performance. This test profile makes use of Cython's bundled benchmark tests and runs an N-Queens sample test as a simple benchmark to the system's Cython performance.

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

Test Created

29 September 2017

Last Updated

21 January 2021

Test Maintainer

Victor Rodriguez 

Test Type

Processor

Average Install Time

57 Seconds

Average Run Time

6 Minutes, 9 Seconds

Test Dependencies

Python

Accolades

50k+ Downloads

Supported Platforms


Public Result Uploads *Reported Installs **Reported Test Completions **Test Profile Page Views ***OpenBenchmarking.orgEventsCython benchmark Popularity Statisticspts/cython-bench2017.092017.122018.032018.062018.092018.122019.032019.062019.092019.122020.032020.062020.092020.122021.032021.062021.092021.122022.032022.062022.092022.122023.032023.062023.092023.122024.032K4K6K8K10K
* 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/cython-bench-1.1.0   [View Source]   Thu, 21 Jan 2021 09:52:30 GMT
Update against latest Cython upstream, fixes for latest Python handling.

pts/cython-bench-1.0.0   [View Source]   Fri, 29 Sep 2017 16:09:01 GMT
Initial commit of the cython-bench test profile

Suites Using This Test

CPU Massive

Server CPU Tests

Python


Performance Metrics

Analyze Test Configuration:

Cython benchmark 0.27

OpenBenchmarking.org metrics for this test profile configuration based on 393 public results since 29 September 2017 with the latest data as of 26 December 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)
98th
7
20 +/- 1
Mid-Tier
75th
> 25
Median
50th
32
39th
10
34 +/- 2
Low-Tier
25th
> 40
12th
18
63 +/- 1
OpenBenchmarking.orgDistribution Of Public Results393 Results Range From 18 To 290 Seconds18345066829811413014616217819421022624225827429050100150200250

Based on OpenBenchmarking.org data, the selected test / test configuration (Cython benchmark 0.27) has an average run-time of 3 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 BenchmarkRun-Time3691215Min: 1 / Avg: 2.04 / Max: 12

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 RunsDeviation246810Min: 0 / Avg: 0.43 / Max: 3

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, POWER9 altivec supported 44-Core
MIPS 64-bit
mips64
Loongson-3A R3
MIPS
mips
Baikal-T1 1.2 GHz MIPS P5600 V3.0 FPU V2.0
ARMv7 32-bit
armv7l
ARMv7 Cortex-A53 4-Core, ARMv7 Cortex-A72 4-Core
ARMv8 64-bit
aarch64
ARMv8 Neoverse-N1 64-Core, ARMv8 rev 0 6-Core, Ampere eMAG ARMv8 32-Core, Cavium ThunderX