-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvalue_variant_any.txt
More file actions
53 lines (48 loc) · 2.68 KB
/
value_variant_any.txt
File metadata and controls
53 lines (48 loc) · 2.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
std::variant<int, double, CopyableUniquePtr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > size 16
std::variant<int, double, std::shared_ptr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > size 24
std::variant<int, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool> size 40
std::variant<int, int, short> size 8
std::tuple<int, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > size 48
std::any size 16
std::optional<long> size 16
std::optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > size 40
std::unique_ptr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::default_delete<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > size 8
user cpu : 0s 3746us
sys cpu : 0s 0us
max rss : 40948 KB / 39.9883 MB
page reclaims : 552
page faults : 0
voluntary switches : 0
involuntary switches : 0
user cpu : 0s 0us
sys cpu : 0s 0us
max rss : 16420 KB / 16.0352 MB
page reclaims : 544
page faults : 0
voluntary switches : 0
involuntary switches : 0
1234567890123456
1234567890123456
2023-06-16T17:44:39+08:00
Running ./bin/value_variant_any
Run on (16 X 3417.59 MHz CPU s)
CPU Caches:
L1 Data 48 KiB (x16)
L1 Instruction 32 KiB (x16)
L2 Unified 2048 KiB (x16)
L3 Unified 30720 KiB (x1)
Load Average: 4.04, 3.95, 2.82
-------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
-------------------------------------------------------------------------------------
BM_Variant<std::string> 12.1 ns 12.1 ns 54628459
BM_Variant<std::unique_ptr<std::string>> 16.9 ns 16.9 ns 41485420
BM_Variant<std::shared_ptr<std::string>> 18.0 ns 18.0 ns 38351259
BM_Variant<std::optional<std::string>> 13.2 ns 13.2 ns 55484664
BM_Variant<CopyableUniquePtr<std::string>> 20.2 ns 20.2 ns 35246483
BM_Variant<int64_t> 0.382 ns 0.382 ns 1000000000
BM_Any 19.7 ns 19.7 ns 35238619
BM_AnyPod 1.34 ns 1.34 ns 524387510
BM_Optional 9.83 ns 9.83 ns 72778920
BM_CopyableUniquePtrInt 0.386 ns 0.386 ns 1000000000
BM_CopyableUniquePtrString 20.2 ns 20.2 ns 34914548