PJSIP

PJSIP is a free and open source multimedia communication library written in C language implementing standard based protocols such as SIP, SDP, RTP, STUN, TURN, and ICE. It combines signaling protocol (SIP) with rich multimedia framework and NAT traversal functionality into high level API that is portable and suitable for almost any type of systems ranging from desktops, embedded systems, to mobile handsets. This test profile is making use of pjsip-perf with both the client/server on teh system. More details on the PJSIP benchmark at https://www.pjsip.org/high-performance-sip.htm

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

Project Site

pjsip.org

Test Created

7 May 2021

Test Maintainer

Michael Larabel 

Test Type

Processor

Average Install Time

52 Seconds

Average Run Time

5 Minutes, 20 Seconds

Test Dependencies

C/C++ Compiler Toolchain

Accolades

10k+ Downloads

Supported Platforms


Public Result Uploads *Reported Installs **Reported Test Completions **Test Profile Page ViewsOpenBenchmarking.orgEventsPJSIP Popularity Statisticspts/pjsip2021.052021.062021.072021.082021.092021.102021.112021.122022.012022.022022.032022.042022.052022.062022.072022.082022.092022.102022.112022.122023.012023.022023.032023.042023.052023.062023.072023.082023.092023.102023.112023.122024.012024.022024.032024.042024.052024.062024.072024.082024.092024.102024.112024.122K4K6K8K10K
* 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.
Data updated weekly as of 22 December 2024.
OPTIONS, Stateful34.1%OPTIONS, Stateless32.2%INVITE33.7%Method Option PopularityOpenBenchmarking.org

Revision History

pts/pjsip-1.0.1   [View Source]   Fri, 07 May 2021 12:36:22 GMT
Limit thread count to 16 as otherwise the program bails.

pts/pjsip-1.0.0   [View Source]   Fri, 07 May 2021 12:01:22 GMT
Initial commit of PJSIP benchmark.

Suites Using This Test

Telephony


Performance Metrics

Analyze Test Configuration:

PJSIP 2.11

Method: OPTIONS, Stateful

OpenBenchmarking.org metrics for this test profile configuration based on 877 public results since 7 May 2021 with the latest data as of 1 November 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
Responses Per Second (Average)
100th
6
12613 +/- 141
100th
6
12441 +/- 14
97th
5
10803 +/- 37
96th
8
10718 +/- 14
94th
7
10678 +/- 99
93rd
10
10617 +/- 82
91st
10
10564 +/- 37
87th
7
10131 +/- 719
85th
4
9826 +/- 5
82nd
5
9464 +/- 239
80th
25
9370 +/- 124
79th
7
9336 +/- 143
Mid-Tier
75th
< 9115
75th
4
9097 +/- 36
74th
9
9064 +/- 125
73rd
10
8995 +/- 882
72nd
12
8940 +/- 171
70th
4
8871 +/- 53
69th
8
8815 +/- 143
68th
3
8764 +/- 4
68th
14
8742 +/- 1120
67th
48
8730 +/- 1107
64th
4
8542 +/- 489
62nd
3
8364 +/- 9
60th
5
8233 +/- 28
60th
14
8197 +/- 152
55th
3
7985 +/- 6
54th
18
7914 +/- 781
54th
3
7832 +/- 828
54th
8
7818 +/- 284
53rd
4
7780 +/- 11
53rd
3
7762 +/- 53
52nd
4
7727 +/- 22
Median
50th
7663
50th
3
7660 +/- 36
49th
6
7618 +/- 88
49th
5
7591 +/- 480
47th
6
7509 +/- 119
46th
4
7468 +/- 60
45th
3
7443 +/- 12
44th
4
7417 +/- 14
42nd
3
7167 +/- 18
41st
6
7060 +/- 2
41st
3
7059 +/- 40
40th
3
7017 +/- 3
39th
8
6944 +/- 885
39th
6
6923 +/- 5
38th
6
6893 +/- 2
37th
7
6840 +/- 87
36th
3
6822 +/- 27
35th
6
6777 +/- 8
34th
3
6753 +/- 6
32nd
6
6708 +/- 3
31st
3
6663 +/- 3
30th
3
6627 +/- 200
30th
8
6585 +/- 158
29th
3
6543 +/- 23
29th
3
6524 +/- 45
29th
3
6467 +/- 775
28th
3
6413 +/- 7
27th
3
6340 +/- 51
27th
6
6327 +/- 139
27th
5
6303 +/- 22
26th
3
6294 +/- 3
26th
3
6210 +/- 42
Low-Tier
25th
< 6173
25th
3
6162 +/- 16
24th
3
6016 +/- 103
24th
3
6002 +/- 19
23rd
5
5986 +/- 2
22nd
5
5890 +/- 112
22nd
3
5860 +/- 38
21st
3
5847 +/- 5
21st
4
5814 +/- 8
21st
3
5804 +/- 107
20th
3
5769 +/- 2
20th
3
5752 +/- 11
19th
3
5678 +/- 12
18th
8
5623 +/- 194
18th
4
5614 +/- 34
14th
3
5102 +/- 44
13th
5
5083 +/- 9
13th
7
5013 +/- 237
10th
9
4909 +/- 206
10th
4
4877 +/- 384
9th
11
4828 +/- 313
4th
4
3734 +/- 38
4th
7
3686 +/- 59
3rd
10
3544 +/- 61
2nd
3
2777 +/- 155
Detailed Performance Overview
OpenBenchmarking.orgDistribution Of Public Results - Method: OPTIONS, Stateful877 Results Range From 2599 To 12900 Responses Per Second2599280630133220342736343841404842554462466948765083529054975704591161186325653267396946715373607567777479818188839586028809901692239430963798441005110258104651067210879110861129311500117071191412121123281253512742129491122334455

Based on OpenBenchmarking.org data, the selected test / test configuration (PJSIP 2.11 - Method: OPTIONS, Stateful) has an average run-time of 4 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 BenchmarkMethod: OPTIONS, StatefulRun-Time48121620Min: 3 / Avg: 3.19 / Max: 13

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

OpenBenchmarking.orgPercent, Fewer Is BetterAverage Deviation Between RunsMethod: OPTIONS, StatefulDeviation246810Min: 0 / Avg: 0.27 / Max: 3

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 BasePJSIP CPU Core ScalingMethod: OPTIONS, Stateful468101214162432641281.02922.05843.08764.11685.146

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 MOVDQA MOVAPD CVTSS2SD ADDSD CVTSI2SD MULSD COMISD MAXSD DIVSD CVTSD2SS CVTTSD2SI SUBSD ANDPD UCOMISD ANDNPD CMPNLESD ORPD SQRTSD MOVD
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).

 
VEXTRACTF128 VZEROUPPER VINSERTF128 VPERM2F128 VBROADCASTSS VPERMILPS VMASKMOVPS VBROADCASTSD
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).

 
VPBROADCASTD VEXTRACTI128 VINSERTI128 VPERMQ VPERM2I128 VPBROADCASTW VPERMD VGATHERDPS VPBROADCASTQ VPBROADCASTB
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).

 
VFMADD231SS VFMADD132SS VFMADD231SD VFMADD132SD VFNMADD132SD VFMADD213SD VFNMADD213SS VFMSUB231SS VFMADD132PD VFMADD231PD VFNMADD231SD VFNMADD213PS VFNMADD132PS VFNMADD132SS VFMADD213SS VFNMADD231SS VFMADD213PS VFMADD231PS VFMADD132PS VFNMADD213SD VFNMADD231PS VFNMSUB132SS VFMSUB132SS
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: 18 January 2022

This test profile binary relies on the shared libraries libopus.so.0, libcrypto.so.3, libuuid.so.1, libm.so.6, libasound.so.2, 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)

Recent Test Results

OpenBenchmarking.org Results Compare

2 Systems - 413 Benchmark Results

AMD Ryzen 7 4700U - LENOVO IdeaPad 5 14ARE05 LNVNB161216 - AMD Renoir

Ubuntu 24.04 - 6.10.0-phx - GNOME Shell 46.0

Find More Test Results