@@ -179,44 +179,46 @@ Detail of the benchmarks:
179
179
- Create observer copy: construct a new observer pointer from another observer pointer.
180
180
- Dereference observer: get a reference to the underlying object from an observer pointer.
181
181
182
- * Compiler: gcc 9.4.0, std: libstdc++-9, oup: 0.7.1, OS: linux 5.15.0, CPU: Ryzen 5 2600:*
182
+ The benchmarks were last ran for oup v0.7.1.
183
+
184
+ * Compiler: gcc 9.4.0, std: libstdc++-9, OS: linux 5.15.0, CPU: Ryzen 5 2600:*
183
185
184
186
| Pointer | raw/unique | weak/shared | observer/obs_unique | observer/obs_sealed |
185
187
| --- | --- | --- | --- | --- |
186
- | Create owner empty | 1 | 1.0 | 1.0 | 1.1 |
188
+ | Create owner empty | 1 | 1.1 | 1.1 | 1.2 |
187
189
| Create owner | 1 | 2.1 | 1.7 | N/A |
188
- | Create owner factory | 1 | 1.3 | 1.7 | 1.4 |
189
- | Dereference owner | 1 | 1.1 | 1.0 | 1.0 |
190
- | Create observer empty | 1 | 1.3 | 1.2 | 1.2 |
191
- | Create observer | 1 | 1.7 | 1.6 | 1.6 |
192
- | Create observer copy | 1 | 1.6 | 1.6 | 1.8 |
193
- | Dereference observer | 1 | 3.9 | 1.1 | 1.1 |
194
-
195
- * Compiler: MSVC 16.11.3, std: MS-STL, oup: 0.4.0, OS: Windows 10.0.19043, CPU: i7-7800x:*
196
-
197
- | Pointer | raw/unique | weak/shared | observer/obs_unique | observer/obs_sealed |
198
- | -------------------------- | ------------ | ------------- | --------------------- | --------------------- |
199
- | Create owner empty | 1 | 1.1 | 1.1 | 1.1 |
200
- | Create owner | 1 | 2.2 | 2.0 | N/A |
201
- | Create owner factory | 1 | 1.3 | 2.0 | 1.4 |
202
- | Dereference owner | 1 | 0.8 | 1.8 | 1.5 |
203
- | Create observer empty | 1 | 1.1 | 1.2 | 1.2 |
204
- | Create observer | 1 | 5.6 | 1.5 | 1.3 |
205
- | Create observer copy | 1 | 6.2 | 1.4 | 1.3 |
206
- | Dereference observer | 1 | 11 | 1.5 | 1.1 |
207
-
208
- * Compiler: Emscripten 2.0.16 , std: libc++, oup: 0.4.0 , OS: Node.js 14.15.5 + linux kernel 5.1.0, CPU: Ryzen 5 2600:*
209
-
210
- | Pointer | raw/unique | weak/shared | observer/obs_unique | observer/obs_sealed |
211
- | -------------------------- | ------------ | ------------- | --------------------- | --------------------- |
212
- | Create owner empty | 1 | 20 | 1.2 | 1 |
213
- | Create owner | 1 | 1.6 | 1.6 | N/A |
214
- | Create owner factory | 1 | 1.1 | 1.6 | 1 |
215
- | Dereference owner | 1 | 1 | 1 | 1 |
216
- | Create observer empty | 1 | 35 | 1.8 | 1.7 |
217
- | Create observer | 1 | 36 | 2.4 | 2.5 |
218
- | Create observer copy | 1 | 41 | 2.3 | 2.3 |
219
- | Dereference observer | 1 | 114 | 1 | 1 |
190
+ | Create owner factory | 1 | 1.3 | 1.7 | 1.1 |
191
+ | Dereference owner | 1 | 1.0 | 1.0 | 1.1 |
192
+ | Create observer empty | 1 | 1.1 | 1.2 | 1.2 |
193
+ | Create observer | 1 | 1.6 | 1.6 | 1.6 |
194
+ | Create observer copy | 1 | 1.7 | 1.6 | 1.6 |
195
+ | Dereference observer | 1 | 3.5 | 1.0 | 1.0 |
196
+
197
+ * Compiler: MSVC 16.11.3, std: MS-STL, OS: Windows 10.0.19043, CPU: i7-7800x:*
198
+
199
+ | Pointer | raw/unique | weak/shared | observer/obs_unique | observer/obs_sealed |
200
+ | --- | --- | --- | --- | --- |
201
+ | Create owner empty | 1 | 1.4 | 1.8 | 1.5 |
202
+ | Create owner | 1 | 2.2 | 2.9 | N/A |
203
+ | Create owner factory | 1 | 1.2 | 2.2 | 0.9 |
204
+ | Dereference owner | 1 | 0.7 | 1.3 | 1.0 |
205
+ | Create observer empty | 1 | 1.6 | 1.0 | 0.8 |
206
+ | Create observer | 1 | 5.3 | 1.6 | 1.6 |
207
+ | Create observer copy | 1 | 5.3 | 1.4 | 1.5 |
208
+ | Dereference observer | 1 | 9.4 | 1.4 | 0.8 |
209
+
210
+ * Compiler: Emscripten 2.0.34 , std: libc++, OS: Node.js 14.15.5 + linux kernel 5.1.0, CPU: Ryzen 5 2600:*
211
+
212
+ | Pointer | raw/unique | weak/shared | observer/obs_unique | observer/obs_sealed |
213
+ | --- | --- | --- | --- | --- |
214
+ | Create owner empty | 1 | 6.9 | 1.1 | 1.0 |
215
+ | Create owner | 1 | 1.8 | 1.6 | N/A |
216
+ | Create owner factory | 1 | 1.2 | 1.7 | 1.0 |
217
+ | Dereference owner | 1 | 1.0 | 1.0 | 1.0 |
218
+ | Create observer empty | 1 | 11.4 | 1.6 | 1.6 |
219
+ | Create observer | 1 | 14.8 | 2.3 | 2.3 |
220
+ | Create observer copy | 1 | 14.9 | 2.3 | 2.5 |
221
+ | Dereference observer | 1 | 38.7 | 1.0 | 1.0 |
220
222
221
223
222
224
## Alternative implementation
0 commit comments