Bartosz Taudul
|
bd1c1d044b
|
Force inline read/write time offset functions.
|
2019-02-14 00:17:50 +01:00 |
|
Bartosz Taudul
|
08642d034b
|
Preserve string length in string map.
|
2019-02-12 22:11:15 +01:00 |
|
Bartosz Taudul
|
d32c070a9e
|
Two more places where connection can silently drop.
|
2019-02-12 11:07:12 +01:00 |
|
Bartosz Taudul
|
7f11260bf0
|
Handle dropped connection during handshake.
|
2019-02-12 01:41:09 +01:00 |
|
Bartosz Taudul
|
76186f3221
|
Allow zone name retrieval from source location.
|
2019-02-10 16:45:19 +01:00 |
|
Bartosz Taudul
|
c7e64bb8a8
|
Replace select() with poll().
|
2019-02-10 15:45:23 +01:00 |
|
Bartosz Taudul
|
e801943b90
|
Array index is changing here.
|
2019-01-31 18:37:59 +01:00 |
|
Bartosz Taudul
|
852fe03cbc
|
More references.
|
2019-01-29 22:10:14 +01:00 |
|
Bartosz Taudul
|
d6c616848c
|
Use reference instead of repeated deep dereferences.
|
2019-01-29 21:59:52 +01:00 |
|
Bartosz Taudul
|
d86e36cc62
|
Fix progress of loading CPU zones.
|
2019-01-26 22:18:07 +01:00 |
|
Bartosz Taudul
|
39680ad315
|
Boost lock loading time.
|
2019-01-24 22:44:09 +01:00 |
|
Bartosz Taudul
|
42af2d14cc
|
Calculate self min and max times of source location zones.
|
2019-01-23 14:24:22 +01:00 |
|
Bartosz Taudul
|
ddad475c19
|
Make it possible to store multiple frames at single frame address.
|
2019-01-20 19:11:48 +01:00 |
|
Rokas Kupstys
|
8157e3a0b3
|
Fix builds with MingW.
|
2019-01-19 13:53:10 +02:00 |
|
Bartosz Taudul
|
92f3a4bba0
|
Add ZoneText and ZoneName to the C API.
|
2019-01-16 02:10:21 +01:00 |
|
Bartosz Taudul
|
49e270d8a6
|
Detect zone end without begin failure.
|
2019-01-16 00:45:48 +01:00 |
|
Bartosz Taudul
|
708fdfea49
|
Track memory alloc+free matching failures.
|
2019-01-15 18:56:26 +01:00 |
|
Bartosz Taudul
|
ecf9a299de
|
Check for proper number of failure reasons.
|
2019-01-15 18:56:17 +01:00 |
|
Bartosz Taudul
|
76ab70a948
|
Simplify failure detection code.
|
2019-01-15 18:55:47 +01:00 |
|
Bartosz Taudul
|
9944a73444
|
Store failure reason strings in Worker.
|
2019-01-15 18:42:15 +01:00 |
|
Bartosz Taudul
|
ac6e7439e2
|
TODO: track memory allocation tracking failures.
|
2019-01-14 23:26:32 +01:00 |
|
Bartosz Taudul
|
c3246ca3b5
|
Gracefully store failure states.
|
2019-01-14 23:22:31 +01:00 |
|
Bartosz Taudul
|
4dc339c933
|
Close connection when zone validation fails.
|
2019-01-14 23:12:11 +01:00 |
|
Bartosz Taudul
|
c3b67e4482
|
Perform zone stack validation.
|
2019-01-14 23:08:34 +01:00 |
|
Bartosz Taudul
|
dcc6bee607
|
Process zone validation messages.
|
2019-01-14 22:56:10 +01:00 |
|
Bartosz Taudul
|
da8b01357d
|
Proper skipping of locks in 0.4.1+ (fixes compare menu).
|
2019-01-08 17:19:04 +01:00 |
|
Bartosz Taudul
|
13a0ddfe03
|
No need to perform capture here.
|
2019-01-06 21:11:36 +01:00 |
|
Bartosz Taudul
|
6a1c552c61
|
Reduce zone loading time.
|
2019-01-06 20:49:37 +01:00 |
|
Bartosz Taudul
|
980c54e349
|
Track trace loading time.
|
2019-01-06 19:09:50 +01:00 |
|
Bartosz Taudul
|
5ac26ce084
|
Init common Worker variables in header.
|
2019-01-06 19:04:50 +01:00 |
|
Bartosz Taudul
|
a313ed4720
|
Track separate time offset for GPU times.
This is second version of 0.4.2 dump file format. Previous 0.4.2 format
cannot be read anymore.
041/aa.tracy (0.4.1) {18987 KB} -> 042/aa.tracy (0.4.2) {10051 KB} 52.94% size change
041/android.tracy (0.4.1) {696753 KB} -> 042/android.tracy (0.4.2) {542738 KB} 77.90% size change
041/asset-new.tracy (0.4.1) {97163 KB} -> 042/asset-new.tracy (0.4.2) {78402 KB} 80.69% size change
041/asset-new-id.tracy (0.4.1) {105683 KB} -> 042/asset-new-id.tracy (0.4.2) {84341 KB} 79.81% size change
041/asset-old.tracy (0.4.1) {100205 KB} -> 042/asset-old.tracy (0.4.2) {80688 KB} 80.52% size change
041/big.tracy (0.4.1) {2246014 KB} -> 042/big.tracy (0.4.2) {939578 KB} 41.83% size change
041/crash.tracy (0.4.1) {143 KB} -> 042/crash.tracy (0.4.2) {131 KB} 91.37% size change
041/crash2.tracy (0.4.1) {3411 KB} -> 042/crash2.tracy (0.4.2) {1420 KB} 41.63% size change
041/darkrl.tracy (0.4.1) {31818 KB} -> 042/darkrl.tracy (0.4.2) {15762 KB} 49.54% size change
041/darkrl2.tracy (0.4.1) {18778 KB} -> 042/darkrl2.tracy (0.4.2) {7945 KB} 42.31% size change
041/darkrl-old.tracy (0.4.1) {151346 KB} -> 042/darkrl-old.tracy (0.4.2) {67449 KB} 44.57% size change
041/deadlock.tracy (0.4.1) {53 KB} -> 042/deadlock.tracy (0.4.2) {52 KB} 98.55% size change
041/gn-opengl.tracy (0.4.1) {45860 KB} -> 042/gn-opengl.tracy (0.4.2) {29005 KB} 63.25% size change
041/gn-vulkan.tracy (0.4.1) {45618 KB} -> 042/gn-vulkan.tracy (0.4.2) {29352 KB} 64.34% size change
041/long.tracy (0.4.1) {1583550 KB} -> 042/long.tracy (0.4.2) {1182800 KB} 74.69% size change
041/mem.tracy (0.4.1) {1243058 KB} -> 042/mem.tracy (0.4.2) {1369067 KB} 110.14% size change
041/multi.tracy (0.4.1) {14519 KB} -> 042/multi.tracy (0.4.2) {8000 KB} 55.10% size change
041/new.tracy (0.4.1) {1439 KB} -> 042/new.tracy (0.4.2) {1105 KB} 76.75% size change
041/q3bsp-mt.tracy (0.4.1) {1414323 KB} -> 042/q3bsp-mt.tracy (0.4.2) {949855 KB} 67.16% size change
041/q3bsp-st.tracy (0.4.1) {301334 KB} -> 042/q3bsp-st.tracy (0.4.2) {240347 KB} 79.76% size change
041/selfprofile.tracy (0.4.1) {399648 KB} -> 042/selfprofile.tracy (0.4.2) {197704 KB} 49.47% size change
041/tbrowser.tracy (0.4.1) {13052 KB} -> 042/tbrowser.tracy (0.4.2) {9503 KB} 72.81% size change
041/test.tracy (0.4.1) {60309 KB} -> 042/test.tracy (0.4.2) {40700 KB} 67.49% size change
041/virtualfile_hc.tracy (0.4.1) {108967 KB} -> 042/virtualfile_hc.tracy (0.4.2) {72424 KB} 66.46% size change
041/zfile_hc.tracy (0.4.1) {58814 KB} -> 042/zfile_hc.tracy (0.4.2) {39418 KB} 67.02% size change
|
2019-01-03 21:52:43 +01:00 |
|
Bartosz Taudul
|
f8ef5b726a
|
Store time deltas, instead of absolute time in trace dumps.
This change greatly reduces the size of saved dumps, but increase the
cost of processing during loading. One notable outlier in the dataset
below is mem.tracy, which increased in size, even if changes in the
memory dump saving scheme decrease size of the other traces.
041/aa.tracy (0.4.1) {18987 KB} -> 042/aa.tracy (0.4.2) {10140 KB} 53.40% size change
041/android.tracy (0.4.1) {696753 KB} -> 042/android.tracy (0.4.2) {542738 KB} 77.90% size change
041/asset-new.tracy (0.4.1) {97163 KB} -> 042/asset-new.tracy (0.4.2) {78402 KB} 80.69% size change
041/asset-new-id.tracy (0.4.1) {105683 KB} -> 042/asset-new-id.tracy (0.4.2) {84341 KB} 79.81% size change
041/asset-old.tracy (0.4.1) {100205 KB} -> 042/asset-old.tracy (0.4.2) {80688 KB} 80.52% size change
041/big.tracy (0.4.1) {2246014 KB} -> 042/big.tracy (0.4.2) {943083 KB} 41.99% size change
041/crash.tracy (0.4.1) {143 KB} -> 042/crash.tracy (0.4.2) {131 KB} 91.39% size change
041/crash2.tracy (0.4.1) {3411 KB} -> 042/crash2.tracy (0.4.2) {1425 KB} 41.80% size change
041/darkrl.tracy (0.4.1) {31818 KB} -> 042/darkrl.tracy (0.4.2) {15897 KB} 49.96% size change
041/darkrl2.tracy (0.4.1) {18778 KB} -> 042/darkrl2.tracy (0.4.2) {8002 KB} 42.62% size change
041/darkrl-old.tracy (0.4.1) {151346 KB} -> 042/darkrl-old.tracy (0.4.2) {67945 KB} 44.89% size change
041/deadlock.tracy (0.4.1) {53 KB} -> 042/deadlock.tracy (0.4.2) {52 KB} 98.55% size change
041/gn-opengl.tracy (0.4.1) {45860 KB} -> 042/gn-opengl.tracy (0.4.2) {30983 KB} 67.56% size change
041/gn-vulkan.tracy (0.4.1) {45618 KB} -> 042/gn-vulkan.tracy (0.4.2) {31349 KB} 68.72% size change
041/long.tracy (0.4.1) {1583550 KB} -> 042/long.tracy (0.4.2) {1225316 KB} 77.38% size change
041/mem.tracy (0.4.1) {1243058 KB} -> 042/mem.tracy (0.4.2) {1369291 KB} 110.15% size change
041/multi.tracy (0.4.1) {14519 KB} -> 042/multi.tracy (0.4.2) {8110 KB} 55.86% size change
041/new.tracy (0.4.1) {1439 KB} -> 042/new.tracy (0.4.2) {1108 KB} 77.01% size change
041/q3bsp-mt.tracy (0.4.1) {1414323 KB} -> 042/q3bsp-mt.tracy (0.4.2) {949855 KB} 67.16% size change
041/q3bsp-st.tracy (0.4.1) {301334 KB} -> 042/q3bsp-st.tracy (0.4.2) {240347 KB} 79.76% size change
041/selfprofile.tracy (0.4.1) {399648 KB} -> 042/selfprofile.tracy (0.4.2) {197713 KB} 49.47% size change
041/tbrowser.tracy (0.4.1) {13052 KB} -> 042/tbrowser.tracy (0.4.2) {9503 KB} 72.81% size change
041/test.tracy (0.4.1) {60309 KB} -> 042/test.tracy (0.4.2) {40700 KB} 67.49% size change
041/virtualfile_hc.tracy (0.4.1) {108967 KB} -> 042/virtualfile_hc.tracy (0.4.2) {72839 KB} 66.85% size change
041/zfile_hc.tracy (0.4.1) {58814 KB} -> 042/zfile_hc.tracy (0.4.2) {39608 KB} 67.35% size change
|
2018-12-30 23:42:17 +01:00 |
|
Bartosz Taudul
|
8c5670489c
|
Freeing nullptr is valid.
|
2018-12-20 17:03:09 +01:00 |
|
Bartosz Taudul
|
a220f38fbd
|
Add support for matching source locations ignoring case.
|
2018-12-18 16:52:29 +01:00 |
|
Bartosz Taudul
|
acddcbd9bf
|
Add case-ignoring string matcher.
|
2018-12-18 16:52:05 +01:00 |
|
Bartosz Taudul
|
7376ec65b0
|
Store lock announce and terminate time in trace dump.
|
2018-12-16 21:09:37 +01:00 |
|
Bartosz Taudul
|
9360df89b1
|
Store announce and terminate time of locks.
|
2018-12-16 21:07:26 +01:00 |
|
Bartosz Taudul
|
f42d52923a
|
No-op processing of lock terminate events.
|
2018-12-16 20:46:33 +01:00 |
|
Bartosz Taudul
|
793e955480
|
Fix crash when loading a trace with unresolved strings.
Unresolved strings ("???") are not saved, but the internal string
pointers are saved. Resolving such string pointers caused a crash.
|
2018-10-21 16:38:20 +02:00 |
|
Bartosz Taudul
|
9211ce42da
|
Non-on-demand client is only able to handle one connection.
|
2018-09-09 19:42:06 +02:00 |
|
Bartosz Taudul
|
984a711666
|
Send protocol version to verify handshake.
|
2018-09-09 19:28:53 +02:00 |
|
Bartosz Taudul
|
270072b09e
|
Require shibboleth match at start of connection.
|
2018-09-09 18:26:53 +02:00 |
|
Bartosz Taudul
|
806c8de463
|
Only one outgoing server connection is supported.
|
2018-09-09 17:47:20 +02:00 |
|
Bartosz Taudul
|
9f4d6692dc
|
Proper way to get full frame count.
|
2018-09-01 12:38:12 +02:00 |
|
Bartosz Taudul
|
8f1acf2571
|
Store explicit program name and capture time.
|
2018-08-29 01:02:29 +02:00 |
|
Bartosz Taudul
|
bc6a553a3a
|
Fetch thread names in memory events.
|
2018-08-28 01:48:19 +02:00 |
|
Bartosz Taudul
|
99b7a39c52
|
Save/load crash information.
|
2018-08-20 02:27:24 +02:00 |
|
Bartosz Taudul
|
3b526b074e
|
Send crash report.
|
2018-08-20 02:23:55 +02:00 |
|
Bartosz Taudul
|
366ea35593
|
Allow crash event reporting.
When crash happens there's no longer anything to profile -- don't wait
for unfinished zones to finish before sending client terminate
confirmation.
|
2018-08-20 01:03:16 +02:00 |
|
Bartosz Taudul
|
e0a4b9c56a
|
Save/load host info.
|
2018-08-19 18:28:48 +02:00 |
|
Bartosz Taudul
|
203d9b4b85
|
Store host info.
|
2018-08-19 18:21:56 +02:00 |
|
Bartosz Taudul
|
a15a287a6b
|
Don't over-allocate vectors, when exact needed size is known.
This reduces memory usage when loading saved traces. Memory usage
reduction observed on a selected number of traces:
5625.76 MB -> 5330.29 MB
3292.94 MB -> 2978.66 MB
632.77 MB -> 479.58 MB
681.32 MB -> 506.27 MB
11.9 GB -> 11.22 GB
854.21 MB -> 806.17 MB
10.57 GB -> 7175.31 MB
67.38 MB -> 66.63 MB
2026.12 MB -> 1744.2 MB
86.55 MB -> 85.57 MB
343.64 MB -> 244.81 MB
201.93 MB -> 162.25 MB
|
2018-08-09 19:41:15 +02:00 |
|
Bartosz Taudul
|
a14a6fa8fb
|
Don't shadow variables.
|
2018-08-09 19:41:15 +02:00 |
|
Bartosz Taudul
|
a51da71fa4
|
Add lock, plot counts to worker.
|
2018-08-08 19:21:53 +02:00 |
|
Bartosz Taudul
|
d36b0aff45
|
Fix progress of loading GPU zones.
|
2018-08-05 13:07:58 +02:00 |
|
Bartosz Taudul
|
9d051cf5ee
|
Add support for discontinuous frames.
|
2018-08-05 02:15:54 +02:00 |
|
Bartosz Taudul
|
6b8a3b25ba
|
Fix drawing of last frame.
|
2018-08-04 23:19:35 +02:00 |
|
Bartosz Taudul
|
9b4348b497
|
Handle frame name queries.
|
2018-08-04 21:10:45 +02:00 |
|
Bartosz Taudul
|
4424a7d7e8
|
Last time should never be zero.
|
2018-08-04 21:10:45 +02:00 |
|
Bartosz Taudul
|
23dfc2e3fc
|
Multiple frame sets support.
|
2018-08-04 21:10:45 +02:00 |
|
Bartosz Taudul
|
0b4c2724ce
|
Add strings to map directly in StringDiscovery.
|
2018-08-04 17:10:45 +02:00 |
|
Bartosz Taudul
|
ada9f78678
|
Use StringDiscovery for plots.
|
2018-08-04 16:33:03 +02:00 |
|
Bartosz Taudul
|
e174e2c12a
|
Remove obsolete comment.
Nothing happens with the source data, as the strings are uniquely stored
in the StoreString() function.
|
2018-08-04 15:46:10 +02:00 |
|
Bartosz Taudul
|
6ef2d2d9a3
|
Track progress of loading plots.
|
2018-08-04 15:17:37 +02:00 |
|
Bartosz Taudul
|
18896044c4
|
Display explicit names of loaded things.
|
2018-07-29 16:56:46 +02:00 |
|
Bartosz Taudul
|
9f13475b52
|
Track trace version in worker.
|
2018-07-29 15:33:48 +02:00 |
|
Bartosz Taudul
|
13509c14f1
|
Save size of 'active' and 'frees' memory data structures.
|
2018-07-29 15:29:56 +02:00 |
|
Bartosz Taudul
|
00d07e39f7
|
Save threadExpand size to allow vector preallocation.
|
2018-07-29 15:19:44 +02:00 |
|
Bartosz Taudul
|
bff6eb4c34
|
Save source location zones counts.
This allows preallocation of zones-in-source-location vectors.
|
2018-07-29 14:58:01 +02:00 |
|
Bartosz Taudul
|
12b90d1630
|
Move tracy version to a separate header.
|
2018-07-29 14:20:44 +02:00 |
|
Bartosz Taudul
|
ccc5c37af5
|
Always count source location zones.
|
2018-07-29 14:16:13 +02:00 |
|
Bartosz Taudul
|
4456c8a454
|
Reserve space for string data.
|
2018-07-29 14:13:29 +02:00 |
|
Bartosz Taudul
|
648070e6a1
|
Include each loaded zone in sub progress.
|
2018-07-28 19:22:28 +02:00 |
|
Bartosz Taudul
|
4741dab833
|
Track sub progress.
|
2018-07-28 19:05:01 +02:00 |
|
Bartosz Taudul
|
a14238c199
|
Add sub progress display.
|
2018-07-28 18:56:52 +02:00 |
|
Bartosz Taudul
|
a46425f4e9
|
Adjust load stages.
|
2018-07-28 18:26:00 +02:00 |
|
Bartosz Taudul
|
0bf0ceed3d
|
Track trace loading progress.
|
2018-07-28 17:59:17 +02:00 |
|
Bartosz Taudul
|
d84d0b7754
|
Don't try to read empty timelines.
|
2018-07-22 21:15:28 +02:00 |
|
Bartosz Taudul
|
25116a8059
|
Don't try to compress invalid thread.
|
2018-07-22 21:13:42 +02:00 |
|
Bartosz Taudul
|
010cf66e43
|
Call Vector destructors.
|
2018-07-22 21:01:45 +02:00 |
|
Bartosz Taudul
|
29159069ab
|
Properly initialize child index.
|
2018-07-22 20:14:55 +02:00 |
|
Bartosz Taudul
|
7d7877517e
|
Also remove child vectors from GPU events.
|
2018-07-22 19:47:01 +02:00 |
|
Bartosz Taudul
|
3a934b2ba3
|
Store children vectors in a separate data collection.
This reduces per-zone memory cost by 9 bytes if there are no children
and increases it by 4 bytes, if there are children. This is universally
a better solution, as the following data shows:
+++ /home/wolf/desktop/tracy-old/android.tracy +++
Vectors: 2794480
Size 0: 2373070 (84.92%)
Size 1: 70237 (2.51%)
Size 2+: 351173 (12.57%)
+++ /home/wolf/desktop/tracy-old/asset-new.tracy +++
Vectors: 1799227
Size 0: 1482691 (82.41%)
Size 1: 93272 (5.18%)
Size 2+: 223264 (12.41%)
+++ /home/wolf/desktop/tracy-old/asset-new-id.tracy +++
Vectors: 1977996
Size 0: 1640817 (82.95%)
Size 1: 97198 (4.91%)
Size 2+: 239981 (12.13%)
+++ /home/wolf/desktop/tracy-old/asset-old.tracy +++
Vectors: 1782395
Size 0: 1471437 (82.55%)
Size 1: 88813 (4.98%)
Size 2+: 222145 (12.46%)
+++ /home/wolf/desktop/tracy-old/big.tracy +++
Vectors: 180794047
Size 0: 172696094 (95.52%)
Size 1: 2799772 (1.55%)
Size 2+: 5298181 (2.93%)
+++ /home/wolf/desktop/tracy-old/darkrl.tracy +++
Vectors: 12014129
Size 0: 11611324 (96.65%)
Size 1: 134980 (1.12%)
Size 2+: 267825 (2.23%)
+++ /home/wolf/desktop/tracy-old/mem.tracy +++
Vectors: 383097
Size 0: 321932 (84.03%)
Size 1: 854 (0.22%)
Size 2+: 60311 (15.74%)
+++ /home/wolf/desktop/tracy-old/new.tracy +++
Vectors: 77536
Size 0: 63035 (81.30%)
Size 1: 8886 (11.46%)
Size 2+: 5615 (7.24%)
+++ /home/wolf/desktop/tracy-old/selfprofile.tracy +++
Vectors: 22940871
Size 0: 22704868 (98.97%)
Size 1: 73000 (0.32%)
Size 2+: 163003 (0.71%)
+++ /home/wolf/desktop/tracy-old/tbrowser.tracy +++
Vectors: 962682
Size 0: 695380 (72.23%)
Size 1: 43007 (4.47%)
Size 2+: 224295 (23.30%)
+++ /home/wolf/desktop/tracy-old/virtualfile_hc.tracy +++
Vectors: 529170
Size 0: 449386 (84.92%)
Size 1: 15694 (2.97%)
Size 2+: 64090 (12.11%)
+++ /home/wolf/desktop/tracy-old/zfile_hc.tracy +++
Vectors: 264849
Size 0: 220589 (83.29%)
Size 1: 9386 (3.54%)
Size 2+: 34874 (13.17%)
|
2018-07-22 16:05:50 +02:00 |
|
Bartosz Taudul
|
fc310ce15a
|
Fix check.
|
2018-07-17 18:29:07 +02:00 |
|
Rokas Kupstys
|
8a8faa3d6c
|
Added __has_include(<execution>) back.
|
2018-07-17 19:25:26 +03:00 |
|
Rokas Kupstys
|
5c75fe292f
|
Fix msvc builds when required c++ standard version is set to lower than c++17.
Also use latest available c++ standard which allows using older VS versions that only support c++14.
|
2018-07-17 18:29:48 +03:00 |
|
Bartosz Taudul
|
c6ea032de3
|
GPU source location may not yet be available.
|
2018-07-15 19:00:40 +02:00 |
|
Bartosz Taudul
|
21da3bca63
|
Don't create lz4buf on stack.
|
2018-07-14 16:02:33 +02:00 |
|
Bartosz Taudul
|
561d2dc360
|
Use the fastest mutex available.
The selection is based on the following test results:
MSVC:
=== Lock test, 6 threads ===
=> NonRecursiveBenaphore
No contention: 11.641 ns/iter
2 thread contention: 141.559 ns/iter
3 thread contention: 242.733 ns/iter
4 thread contention: 409.807 ns/iter
5 thread contention: 561.544 ns/iter
6 thread contention: 785.845 ns/iter
=> std::mutex
No contention: 19.190 ns/iter
2 thread contention: 39.305 ns/iter
3 thread contention: 58.999 ns/iter
4 thread contention: 59.532 ns/iter
5 thread contention: 103.539 ns/iter
6 thread contention: 110.314 ns/iter
=> std::shared_timed_mutex
No contention: 45.487 ns/iter
2 thread contention: 96.351 ns/iter
3 thread contention: 142.871 ns/iter
4 thread contention: 184.999 ns/iter
5 thread contention: 336.608 ns/iter
6 thread contention: 542.551 ns/iter
=> std::shared_mutex
No contention: 10.861 ns/iter
2 thread contention: 17.495 ns/iter
3 thread contention: 31.126 ns/iter
4 thread contention: 40.468 ns/iter
5 thread contention: 15.677 ns/iter
6 thread contention: 64.505 ns/iter
Cygwin (clang):
=== Lock test, 6 threads ===
=> NonRecursiveBenaphore
No contention: 11.536 ns/iter
2 thread contention: 121.082 ns/iter
3 thread contention: 396.430 ns/iter
4 thread contention: 672.555 ns/iter
5 thread contention: 1327.761 ns/iter
6 thread contention: 14151.955 ns/iter
=> std::mutex
No contention: 62.583 ns/iter
2 thread contention: 3990.464 ns/iter
3 thread contention: 7161.189 ns/iter
4 thread contention: 9870.820 ns/iter
5 thread contention: 12355.178 ns/iter
6 thread contention: 14694.903 ns/iter
=> std::shared_timed_mutex
No contention: 91.687 ns/iter
2 thread contention: 1115.037 ns/iter
3 thread contention: 4183.792 ns/iter
4 thread contention: 15283.491 ns/iter
5 thread contention: 27812.477 ns/iter
6 thread contention: 35028.140 ns/iter
=> std::shared_mutex
No contention: 91.764 ns/iter
2 thread contention: 1051.826 ns/iter
3 thread contention: 5574.720 ns/iter
4 thread contention: 15721.416 ns/iter
5 thread contention: 27721.487 ns/iter
6 thread contention: 35420.404 ns/iter
Linux (x64):
=== Lock test, 6 threads ===
=> NonRecursiveBenaphore
No contention: 13.487 ns/iter
2 thread contention: 210.317 ns/iter
3 thread contention: 430.855 ns/iter
4 thread contention: 510.533 ns/iter
5 thread contention: 1003.609 ns/iter
6 thread contention: 1787.683 ns/iter
=> std::mutex
No contention: 12.403 ns/iter
2 thread contention: 157.122 ns/iter
3 thread contention: 186.791 ns/iter
4 thread contention: 265.073 ns/iter
5 thread contention: 283.778 ns/iter
6 thread contention: 270.687 ns/iter
=> std::shared_timed_mutex
No contention: 21.509 ns/iter
2 thread contention: 150.179 ns/iter
3 thread contention: 256.574 ns/iter
4 thread contention: 415.351 ns/iter
5 thread contention: 611.532 ns/iter
6 thread contention: 944.695 ns/iter
=> std::shared_mutex
No contention: 20.805 ns/iter
2 thread contention: 157.034 ns/iter
3 thread contention: 244.025 ns/iter
4 thread contention: 406.269 ns/iter
5 thread contention: 387.985 ns/iter
6 thread contention: 468.550 ns/iter
Linux (arm64):
=== Lock test, 6 threads ===
=> NonRecursiveBenaphore
No contention: 20.891 ns/iter
2 thread contention: 211.037 ns/iter
3 thread contention: 409.962 ns/iter
4 thread contention: 657.441 ns/iter
5 thread contention: 828.405 ns/iter
6 thread contention: 1131.827 ns/iter
=> std::mutex
No contention: 50.884 ns/iter
2 thread contention: 103.620 ns/iter
3 thread contention: 332.429 ns/iter
4 thread contention: 620.802 ns/iter
5 thread contention: 783.943 ns/iter
6 thread contention: 834.002 ns/iter
=> std::shared_timed_mutex
No contention: 64.948 ns/iter
2 thread contention: 173.191 ns/iter
3 thread contention: 490.352 ns/iter
4 thread contention: 660.668 ns/iter
5 thread contention: 1014.546 ns/iter
6 thread contention: 1451.553 ns/iter
=> std::shared_mutex
No contention: 64.521 ns/iter
2 thread contention: 195.222 ns/iter
3 thread contention: 490.819 ns/iter
4 thread contention: 654.786 ns/iter
5 thread contention: 955.759 ns/iter
6 thread contention: 1282.544 ns/iter
|
2018-07-14 00:39:01 +02:00 |
|
Bartosz Taudul
|
96042891f7
|
Reintroduce explicit template type for std::lock_guard.
Requested in issue #4 for support of older MSVC versions.
|
2018-07-13 12:30:29 +02:00 |
|
Bartosz Taudul
|
90a874f311
|
Require MSVC 15.7 for <execution> support.
|
2018-07-13 12:26:02 +02:00 |
|
Bartosz Taudul
|
c8b5b9447d
|
Ignore dangling memory frees in on-demand mode.
|
2018-07-12 01:35:32 +02:00 |
|
Bartosz Taudul
|
e5064dec1e
|
Store on-demand connection state.
|
2018-07-12 01:21:04 +02:00 |
|
Bartosz Taudul
|
d1ddaa8d59
|
Store frame offset in trace dumps.
|
2018-07-10 22:56:41 +02:00 |
|
Bartosz Taudul
|
a78981e040
|
Store on-demand frame offset.
|
2018-07-10 22:42:00 +02:00 |
|
Bartosz Taudul
|
6a9caabc63
|
Send on-demand initial payload message.
|
2018-07-10 22:37:39 +02:00 |
|
Bartosz Taudul
|
c056f3be41
|
Send keep alive messages to determine if client disconnected.
|
2018-07-10 21:39:17 +02:00 |
|
Bartosz Taudul
|
cb100e261c
|
Return custom zone names.
|
2018-06-29 16:12:40 +02:00 |
|
Bartosz Taudul
|
053284b1c7
|
Process custom free-form zone names.
|
2018-06-29 16:12:17 +02:00 |
|
Bartosz Taudul
|
865e8d8506
|
Extract zone name getting functionality.
|
2018-06-29 15:14:20 +02:00 |
|