Skip to content

Commit a9afbd1

Browse files
committed
Add methodology section
1 parent 8384b97 commit a9afbd1

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

doc/int128/u128_benchmarks.adoc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,13 @@ https://www.boost.org/LICENSE_1_0.txt
88
= `uint128_t` Benchmarks
99
:idprefix: u128_benchmarks_
1010

11+
== Methodology
12+
13+
The benchmarks below represent the time in microseconds it takes to perform 20'000'000 operations between two values of random width (e.g. 2x1 words, 1x2 words, etc.).
14+
On most platforms we use the builtin `unsigned \__int128` as the reference benchmark.
15+
When this is unavailable (such as on 32-bit architectures) we us `boost::multiprecision::uint128_t` (abbreviated as `boost::mp::uint128_t`) as it is widely used, and known to be portable.
16+
On MSVC platforms we use as reference `std::_Unsigned128` from the header `<__msvc_int128.hpp>` since this is bundled with their compiler.
17+
1118
== Linux
1219

1320
=== x86_64

0 commit comments

Comments
 (0)