1# benchmark1.cpp results
2
3## VS 2017 15.9.7 64 bit (cl.exe 19.16, /EHsc /std:c++17)
4
5### /Od
6
7#### Compile time
8
9```
10      variant2 (-DONLY_V2): 1837 ms
11boost::variant (-DONLY_BV): 2627 ms
12  std::variant (-DONLY_SV): 1425 ms
13```
14
15#### Run time
16
17```
18N=100000000:
19        double:   9041 ms; S=7.14286e+14
20      variant2:  48367 ms; S=7.14286e+14
21boost::variant: 102776 ms; S=7.14286e+14
22  std::variant:  40590 ms; S=7.14286e+14
23
24N=100000000:
25        double:   9029 ms; S=7.14286e+14
26      variant2:  92962 ms; S=7.14286e+14
27boost::variant: 110441 ms; S=7.14286e+14
28  std::variant:  92974 ms; S=7.14286e+14
29```
30
31### /O2 /DNDEBUG
32
33#### Compile time
34
35```
36      variant2 (-DONLY_V2): 2571 ms
37boost::variant (-DONLY_BV): 3335 ms
38  std::variant (-DONLY_SV): 1903 ms
39```
40
41#### Run time
42
43```
44N=100000000:
45        double:   1949 ms; S=7.14286e+14
46      variant2:   4176 ms; S=7.14286e+14
47boost::variant:  11312 ms; S=7.14286e+14
48  std::variant:   4617 ms; S=7.14286e+14
49
50N=100000000:
51        double:   1949 ms; S=7.14286e+14
52      variant2:  11807 ms; S=7.14286e+14
53boost::variant:  15632 ms; S=7.14286e+14
54  std::variant:  10725 ms; S=7.14286e+14
55```
56
57## g++ 7.4.0 -std=c++17 (Cygwin 64 bit)
58
59### -O0
60
61#### Compile time
62
63```
64      variant2 (-DONLY_V2): 2734 ms
65boost::variant (-DONLY_BV): 4308 ms
66  std::variant (-DONLY_SV): 2298 ms
67```
68
69#### Run time
70
71```
72N=100000000:
73        double:   3620 ms; S=7.14286e+14
74      variant2:  29214 ms; S=7.14286e+14
75boost::variant:  88492 ms; S=7.14286e+14
76  std::variant:  39510 ms; S=7.14286e+14
77
78N=100000000:
79        double:   3642 ms; S=7.14286e+14
80      variant2:  75822 ms; S=7.14286e+14
81boost::variant:  96680 ms; S=7.14286e+14
82  std::variant:  66411 ms; S=7.14286e+14
83```
84
85### -O1
86
87#### Compile time
88
89```
90      variant2 (-DONLY_V2): 2103 ms
91boost::variant (-DONLY_BV): 3398 ms
92  std::variant (-DONLY_SV): 1841 ms
93```
94
95#### Run time
96
97```
98N=100000000:
99        double:   1576 ms; S=7.14286e+14
100      variant2:   3424 ms; S=7.14286e+14
101boost::variant:   4356 ms; S=7.14286e+14
102  std::variant:   3764 ms; S=7.14286e+14
103
104N=100000000:
105        double:   1582 ms; S=7.14286e+14
106      variant2:   9062 ms; S=7.14286e+14
107boost::variant:   9603 ms; S=7.14286e+14
108  std::variant:   8825 ms; S=7.14286e+14
109```
110
111### -O2 -DNDEBUG
112
113#### Compile time
114
115```
116      variant2 (-DONLY_V2): 2276 ms
117boost::variant (-DONLY_BV): 3647 ms
118  std::variant (-DONLY_SV): 2111 ms
119```
120
121#### Run time
122
123```
124N=100000000:
125        double:   1643 ms; S=7.14286e+14
126      variant2:   3070 ms; S=7.14286e+14
127boost::variant:   3385 ms; S=7.14286e+14
128  std::variant:   3880 ms; S=7.14286e+14
129
130N=100000000:
131        double:   1622 ms; S=7.14286e+14
132      variant2:   8101 ms; S=7.14286e+14
133boost::variant:   8611 ms; S=7.14286e+14
134  std::variant:   8694 ms; S=7.14286e+14
135```
136
137### -O3 -DNDEBUG
138
139#### Compile time
140
141```
142      variant2 (-DONLY_V2): 2390 ms
143boost::variant (-DONLY_BV): 3768 ms
144  std::variant (-DONLY_SV): 2094 ms
145```
146
147#### Run time
148
149```
150N=100000000:
151        double:   1611 ms; S=7.14286e+14
152      variant2:   2975 ms; S=7.14286e+14
153boost::variant:   3232 ms; S=7.14286e+14
154  std::variant:   3726 ms; S=7.14286e+14
155
156N=100000000:
157        double:   1603 ms; S=7.14286e+14
158      variant2:   8157 ms; S=7.14286e+14
159boost::variant:   8419 ms; S=7.14286e+14
160  std::variant:   8659 ms; S=7.14286e+14
161```
162
163## clang++ 5.0.1 -std=c++17 -stdlib=libc++ (Cygwin 64 bit)
164
165### -O0
166
167#### Compile time
168
169```
170      variant2 (-DONLY_V2): 2190 ms
171boost::variant (-DONLY_BV): 3537 ms
172  std::variant (-DONLY_SV): 2151 ms
173```
174
175#### Run time
176
177```
178N=100000000:
179        double:   6063 ms; S=7.14286e+14
180      variant2:  23616 ms; S=7.14286e+14
181boost::variant:  92730 ms; S=7.14286e+14
182  std::variant:  23160 ms; S=7.14286e+14
183
184N=100000000:
185        double:   6054 ms; S=7.14286e+14
186      variant2:  52738 ms; S=7.14286e+14
187boost::variant:  96896 ms; S=7.14286e+14
188  std::variant:  72595 ms; S=7.14286e+14
189```
190
191### -O1
192
193#### Compile time
194
195```
196      variant2 (-DONLY_V2): 2722 ms
197boost::variant (-DONLY_BV): 4337 ms
198  std::variant (-DONLY_SV): 2697 ms
199```
200
201#### Run time
202
203```
204N=100000000:
205        double:   2171 ms; S=7.14286e+14
206      variant2:   9280 ms; S=7.14286e+14
207boost::variant:  51478 ms; S=7.14286e+14
208  std::variant:   5642 ms; S=7.14286e+14
209
210N=100000000:
211        double:   2171 ms; S=7.14286e+14
212      variant2:  22166 ms; S=7.14286e+14
213boost::variant:  54084 ms; S=7.14286e+14
214  std::variant:  14330 ms; S=7.14286e+14
215```
216
217### -O2 -DNDEBUG
218
219#### Compile time
220
221```
222      variant2 (-DONLY_V2): 2499 ms
223boost::variant (-DONLY_BV): 3826 ms
224  std::variant (-DONLY_SV): 2645 ms
225```
226
227#### Run time
228
229```
230N=100000000:
231        double:   1604 ms; S=7.14286e+14
232      variant2:   2726 ms; S=7.14286e+14
233boost::variant:   6662 ms; S=7.14286e+14
234  std::variant:   3869 ms; S=7.14286e+14
235
236N=100000000:
237        double:   1598 ms; S=7.14286e+14
238      variant2:   8136 ms; S=7.14286e+14
239boost::variant:   9236 ms; S=7.14286e+14
240  std::variant:   6279 ms; S=7.14286e+14
241```
242
243### -O3 -DNDEBUG
244
245#### Compile time
246
247```
248      variant2 (-DONLY_V2): 2509 ms
249boost::variant (-DONLY_BV): 3845 ms
250  std::variant (-DONLY_SV): 2638 ms
251```
252
253#### Run time
254
255```
256N=100000000:
257        double:   1592 ms; S=7.14286e+14
258      variant2:   2697 ms; S=7.14286e+14
259boost::variant:   6648 ms; S=7.14286e+14
260  std::variant:   3826 ms; S=7.14286e+14
261
262N=100000000:
263        double:   1614 ms; S=7.14286e+14
264      variant2:   8035 ms; S=7.14286e+14
265boost::variant:   9221 ms; S=7.14286e+14
266  std::variant:   6319 ms; S=7.14286e+14
267```
268