Component
Specification
Computer Model
Lenovo ThinkPad P15v Gen 3
CPU
12th Gen Intel Core i7-12800H (20 logical, 14 physical cores)
Base Clock
2.80 GHz
Turbo Clock
4.80 GHz
L1 Data Cache
48 KiB (×6 P-cores) + 32 KiB (×8 E-cores)
L1 Instruction Cache
32 KiB (×6 P-cores) + 64 KiB (×2 E-core clusters)
L2 Unified Cache
1.25 MiB (×6 P-cores) + 2 MiB (×2 E-core clusters)
L3 Unified Cache
24 MiB (×1 shared)
RAM
DDR4-3200 (32GB)
GPU
NVIDIA RTX A2000 4GB GDDR6
Platform
OS
Benchmark Framework
C++ Compiler
nfx-stringbuilder version
Linux
LMDE 7
Google Benchmark v1.9.5
GCC 14.2.0-x64
v0.6.0
Linux
LMDE 7
Google Benchmark v1.9.5
Clang 19.1.7-x64
v0.6.0
Windows
Windows 10
Google Benchmark v1.9.5
MinGW GCC 14.2.0-x64
v0.6.0
Windows
Windows 10
Google Benchmark v1.9.5
MSVC 19.44.35217.0-x64
v0.6.0
BM_Comparative - Small Strings
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StdString_SmallStrings
51.9 ns
54.0 ns
TBA
TBA
BM_StringStream_SmallStrings
197 ns
212 ns
TBA
TBA
BM_FmtMemoryBuffer_SmallStrings
80.8 ns
89.0 ns
TBA
TBA
BM_Abseil_SmallStrings
92.1 ns
99.0 ns
TBA
TBA
BM_StringBuilder_SmallStrings
28.5 ns
29.2 ns
TBA
TBA
BM_Comparative - Medium Strings
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StdString_MediumStrings
68.1 ns
78.8 ns
TBA
TBA
BM_StringStream_MediumStrings
177 ns
199 ns
TBA
TBA
BM_FmtMemoryBuffer_MediumStrings
66.9 ns
86.6 ns
TBA
TBA
BM_Abseil_MediumStrings
106 ns
121 ns
TBA
TBA
BM_StringBuilder_MediumStrings
23.9 ns
25.9 ns
TBA
TBA
BM_Comparative - Large Strings
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StdString_LargeStrings
81.2 ns
94.9 ns
TBA
TBA
BM_StringStream_LargeStrings
197 ns
227 ns
TBA
TBA
BM_FmtMemoryBuffer_LargeStrings
78.7 ns
88.6 ns
TBA
TBA
BM_Abseil_LargeStrings
123 ns
117 ns
TBA
TBA
BM_StringBuilder_LargeStrings
78.6 ns
84.2 ns
TBA
TBA
BM_Comparative - Huge Strings
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StdString_HugeStrings
324 ns
331 ns
TBA
TBA
BM_StringStream_HugeStrings
831 ns
850 ns
TBA
TBA
BM_FmtMemoryBuffer_HugeStrings
673 ns
674 ns
TBA
TBA
BM_Abseil_HugeStrings
355 ns
385 ns
TBA
TBA
BM_StringBuilder_HugeStrings
665 ns
717 ns
TBA
TBA
BM_Comparative - Rapid Allocation Cycles
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StdString_RapidCycles
9.18 ns
7.18 ns
TBA
TBA
BM_FmtMemoryBuffer_RapidCycles
185 ns
204 ns
TBA
TBA
BM_Abseil_RapidCycles
156 ns
146 ns
TBA
TBA
BM_StringBuilder_RapidCycles
63.1 ns
67.8 ns
TBA
TBA
BM_Comparative - Mixed Operations
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StdString_MixedOperations
209 ns
213 ns
TBA
TBA
BM_StringStream_MixedOperations
386 ns
401 ns
TBA
TBA
BM_FmtMemoryBuffer_MixedOperations
91.6 ns
103 ns
TBA
TBA
BM_Abseil_MixedOperations
65.6 ns
65.4 ns
TBA
TBA
BM_StringBuilder_MixedOperations
74.9 ns
63.8 ns
TBA
TBA
BM_Comparative - Formatting
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StdFormat_ComplexFormatting
179 ns
154 ns
TBA
TBA
BM_FmtFormat_ComplexFormatting
113 ns
117 ns
TBA
TBA
BM_Abseil_ComplexFormatting
59.1 ns
65.6 ns
TBA
TBA
BM_StringBuilder_WithFormat
192 ns
190 ns
TBA
TBA
BM_StringBuilder_ManualFormatting
66.0 ns
67.7 ns
TBA
TBA
BM_StringBuilder_Core - Append Operations
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StringBuilder_AppendChar
63.1 ns
65.9 ns
TBA
TBA
BM_StringBuilder_AppendCString
63.5 ns
83.9 ns
TBA
TBA
BM_StringBuilder_AppendStringView
105 ns
114 ns
TBA
TBA
BM_StringBuilder_AppendString
161 ns
189 ns
TBA
TBA
BM_StringBuilder_AppendInt
289 ns
131 ns
TBA
TBA
BM_StringBuilder_AppendDouble
3653 ns
3608 ns
TBA
TBA
BM_StringBuilder_AppendBool
107 ns
96.3 ns
TBA
TBA
BM_StringBuilder_Core - Stream Operators
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StringBuilder_StreamOperator
62.2 ns
62.4 ns
TBA
TBA
BM_StringBuilder_ChainedAppends
62.1 ns
69.6 ns
TBA
TBA
BM_StringBuilder_Core - Other Operations
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StringBuilder_Prepend
135 ns
143 ns
TBA
TBA
BM_StringBuilder_MixedAppendPrepend
85.7 ns
90.5 ns
TBA
TBA
BM_StringBuilder_ClearAndReuse
20.2 ns
21.2 ns
TBA
TBA
BM_StringBuilder_ToStringView
1.73 ns
1.83 ns
TBA
TBA
BM_StringBuilder_ToString
14.7 ns
14.9 ns
TBA
TBA
BM_StringBuilder_Join - Small Collections
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StringBuilder_JoinSmall_Comma
29.0 ns
35.2 ns
TBA
TBA
BM_ManualLoop_JoinSmall_Comma
51.3 ns
50.1 ns
TBA
TBA
BM_Abseil_JoinSmall_Comma
38.8 ns
40.7 ns
TBA
TBA
BM_StringBuilder_Join - Medium Collections
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StringBuilder_JoinMedium_Pipe
24.1 ns
29.2 ns
TBA
TBA
BM_ManualLoop_JoinMedium_Pipe
71.5 ns
70.8 ns
TBA
TBA
BM_Abseil_JoinMedium_Pipe
30.4 ns
33.2 ns
TBA
TBA
BM_StringBuilder_Join - Large Collections
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StringBuilder_JoinLarge_Newline
66.2 ns
71.4 ns
TBA
TBA
BM_ManualLoop_JoinLarge_Newline
73.4 ns
69.4 ns
TBA
TBA
BM_Abseil_JoinLarge_Newline
32.4 ns
34.3 ns
TBA
TBA
BM_StringBuilder_Join - Numeric Arrays
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StringBuilder_JoinNumbers
353 ns
382 ns
TBA
TBA
BM_ManualLoop_JoinNumbers
767 ns
719 ns
TBA
TBA
BM_Abseil_JoinNumbers
1115 ns
1327 ns
TBA
TBA
BM_StringBuilder_Join - Edge Cases
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StringBuilder_JoinEmpty
1.25 ns
2.45 ns
TBA
TBA
BM_StringBuilder_JoinSingle
5.72 ns
6.78 ns
TBA
TBA
BM_StringBuilder_Lines - Small Strings
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StringBuilder_AppendLine_Small
29.5 ns
26.1 ns
TBA
TBA
BM_StringBuilder_AppendManual_Small
27.6 ns
27.4 ns
TBA
TBA
BM_StringBuilder_Lines - Medium Strings
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StringBuilder_AppendLine_Medium
23.6 ns
24.3 ns
TBA
TBA
BM_StringBuilder_AppendManual_Medium
24.0 ns
23.8 ns
TBA
TBA
BM_StringBuilder_Lines - Large Strings
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StringBuilder_AppendLine_Large
72.1 ns
70.7 ns
TBA
TBA
BM_StringBuilder_AppendManual_Large
67.4 ns
68.2 ns
TBA
TBA
BM_StringBuilder_Lines - Workloads
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StringBuilder_LogWorkload
0.817 us
0.566 us
TBA
TBA
BM_StringBuilder_CsvWorkload
2327 ns
2031 ns
TBA
TBA
BM_StringBuilder_NmeaWorkload
273 ns
224 ns
TBA
TBA
BM_StringBuilder_Lines - Edge Cases
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StringBuilder_AppendLine_Empty
75.4 ns
58.9 ns
TBA
TBA
BM_StringBuilder_Advanced
Operation
Linux GCC
Linux Clang
Windows MinGW GCC
Windows MSVC
BM_StringBuilder_NoHint
0.520 us
0.446 us
TBA
TBA
BM_StringBuilder_WithHint
0.387 us
0.299 us
TBA
TBA
BM_StringBuilder_BufferReuse
82.6 ns
84.0 ns
TBA
TBA
BM_StringBuilder_ZeroAlloc
17.3 ns
15.8 ns
TBA
TBA
BM_StringBuilder_MemoryPressure
1.02 us
1.15 us
TBA
TBA
Updated on February 11, 2026