Skip to content

Commit 389ee93

Browse files
committed
Add ARM64 linux data
1 parent 23be16c commit 389ee93

4 files changed

Lines changed: 37 additions & 11 deletions

File tree

doc/int128/u128_benchmarks.adoc

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,24 @@ image::../u128_graphs/linux/x64_relative_performance.png[x64 Relative Performanc
3434

3535
=== ARM64
3636

37+
[cols="1,1,1,1"]
38+
|===
39+
| Operation | `std::_Unsigned128` | `uint128_t` | `boost::mp::uint128_t`
40+
41+
| Comparisons | 2068491 | 2416378 | 3191439
42+
| Addition | 383258 | 180522 | 545521
43+
| Subtraction | 208155 | 192633 | 420573
44+
| Multiplication | 291075 | 241174 | 675361
45+
| Division | 3953939 | 4246753 | 4976285
46+
| Modulo | 4042166 | 3953441 | 4478923
47+
|===
48+
49+
////
50+
image::../u128_graphs/linux/ARM64_benchmarks.png[ARM64 Benchmark Results, width=100%]
51+
////
52+
53+
image::../u128_graphs/linux/ARM64_relative_performance.png[x64 Relative Performance, width=100%]
54+
3755
=== ARM32
3856

3957
=== S390x
@@ -46,12 +64,12 @@ image::../u128_graphs/linux/x64_relative_performance.png[x64 Relative Performanc
4664
|===
4765
| Operation | `std::_Unsigned128` | `uint128_t` | `boost::mp::uint128_t`
4866

49-
| Comparisons | 878929 | 259725 | 1246502
50-
| Addition | 32788 | 33723 | 1437452
51-
| Subtraction | 33627 | 36799 | 1648131
52-
| Multiplication | 68120 | 35334 | 1459418
53-
| Division | 925583 | 1020148 | 2216648
54-
| Modulo | 1104772 | 1143344 | 2089105
67+
| Comparisons | 3424403 | 2062167 | 5026689
68+
| Addition | 123659 | 133084 | 587373
69+
| Subtraction | 171721 | 99453 | 330052
70+
| Multiplication | 329287 | 283443 | 972009
71+
| Division | 2044821 | 1825020 | 2190856
72+
| Modulo | 2176318 | 1897933 | 2227961
5573
|===
5674
////
5775
image::../u128_graphs/windows/arm64_benchmarks.png[ARM64 Benchmark Results, width=100%]

doc/plots.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,23 @@
5151
'boost::mp::uint128_t': [689146, 137819, 153484, 164100, 2784139, 2736682]
5252
}
5353
"""
54-
54+
"""
5555
# Linux x64
5656
data = {
5757
'Operation': ['Comparisons', 'Addition', 'Subtraction', 'Multiplication', 'Division', 'Modulo'],
5858
'unsigned __int128': [2068491, 383258, 208155, 291075, 3953939, 4042166],
5959
'uint128_t': [2416378, 180522, 192633, 241174, 4246753, 3953441],
6060
'boost::mp::uint128_t': [3191439, 545521, 420573, 675361, 4976285, 4478923]
6161
}
62+
"""
6263

64+
# Linux ARM64
65+
data = {
66+
'Operation': ['Comparisons', 'Addition', 'Subtraction', 'Multiplication', 'Division', 'Modulo'],
67+
'unsigned __int128': [3424403, 123659, 171721, 329287, 2044821, 2176318],
68+
'uint128_t': [2062167, 133084, 99453, 283443, 1825020, 1897933],
69+
'boost::mp::uint128_t': [5026689, 587373, 330052, 972009, 2190856, 2227961]
70+
}
6371

6472
df = pd.DataFrame(data)
6573

@@ -98,7 +106,7 @@ def get_colors_by_rank(row):
98106

99107
ax1.set_xlabel('Operations', fontsize=12)
100108
ax1.set_ylabel('Time (nanoseconds)', fontsize=12)
101-
ax1.set_title('GCC 14 - x64 Benchmark Results', fontsize=14, fontweight='bold')
109+
ax1.set_title('GCC 13 - ARM64 Benchmark Results', fontsize=14, fontweight='bold')
102110
ax1.set_xticks(x)
103111
ax1.set_xticklabels(operations, rotation=45, ha='right')
104112
ax1.legend(loc='upper left')
@@ -127,15 +135,15 @@ def get_colors_by_rank(row):
127135

128136
ax2.set_xlabel('Operations', fontsize=12)
129137
ax2.set_ylabel('Time (nanoseconds) - Log Scale', fontsize=12)
130-
ax2.set_title('GCC 14 - x64 Benchmark Results (Log Scale)', fontsize=14, fontweight='bold')
138+
ax2.set_title('GCC 13 - ARM64 Benchmark Results (Log Scale)', fontsize=14, fontweight='bold')
131139
ax2.set_yscale('log')
132140
ax2.set_xticks(x)
133141
ax2.set_xticklabels(operations, rotation=45, ha='right')
134142
ax2.legend(loc='upper left')
135143
ax2.grid(axis='y', alpha=0.3, which='both')
136144

137145
plt.tight_layout()
138-
plt.savefig('x64_benchmarks.png', dpi=300, bbox_inches='tight')
146+
plt.savefig('ARM64_benchmarks.png', dpi=300, bbox_inches='tight')
139147
plt.show()
140148

141149
# Create a normalized performance chart
@@ -175,7 +183,7 @@ def get_colors_by_rank(row):
175183
fontsize=10, verticalalignment='top', style='italic')
176184

177185
plt.tight_layout()
178-
plt.savefig('x64_relative_performance.png', dpi=300, bbox_inches='tight')
186+
plt.savefig('ARM64_relative_performance.png', dpi=300, bbox_inches='tight')
179187
plt.show()
180188

181189
# Generate summary statistics
377 KB
Loading
193 KB
Loading

0 commit comments

Comments
 (0)