@@ -179,44 +179,46 @@ Detail of the benchmarks:
179179 - Create observer copy: construct a new observer pointer from another observer pointer.
180180 - Dereference observer: get a reference to the underlying object from an observer pointer.
181181
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:*
183185
184186| Pointer | raw/unique | weak/shared | observer/obs_unique | observer/obs_sealed |
185187| --- | --- | --- | --- | --- |
186- | Create owner empty | 1 | 1.0 | 1.0 | 1.1 |
188+ | Create owner empty | 1 | 1.1 | 1.1 | 1.2 |
187189| 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 |
220222
221223
222224## Alternative implementation
0 commit comments