Bartosz Taudul
|
8ddf32bc6b
|
Highlight zones with the same srcloc on hover.
|
2018-07-28 19:53:11 +02:00 |
|
Bartosz Taudul
|
6a3a9c0bc5
|
Load second trace on a separate thread.
|
2018-07-28 18:47:33 +02:00 |
|
Bartosz Taudul
|
d1cef20c0b
|
Allow sorting groups by time.
|
2018-07-21 23:58:50 +02:00 |
|
Bartosz Taudul
|
cacbac8915
|
Calculate and display group times.
|
2018-07-21 23:53:11 +02:00 |
|
Bartosz Taudul
|
d03356c1f5
|
Rename "threads" to "groups" in find zone data structs.
|
2018-07-21 23:41:50 +02:00 |
|
Bartosz Taudul
|
9291a88020
|
Zones can be now also grouped by call stack.
|
2018-07-21 20:26:13 +02:00 |
|
Bartosz Taudul
|
389e0facd3
|
Draw memory allocation range on mouse hover on mem event.
|
2018-07-19 15:43:45 +02:00 |
|
Bartosz Taudul
|
cf3bf4378b
|
No need to return MemEvent ptr from DrawAddress().
|
2018-07-17 23:13:56 +02:00 |
|
Bartosz Taudul
|
0889334462
|
Add memory allocation info window.
|
2018-07-17 23:03:03 +02:00 |
|
Bartosz Taudul
|
6485a090ed
|
Separate small callstack button setup.
|
2018-07-17 22:53:38 +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
|
f82e8aa98f
|
Adapt plot height to font size.
|
2018-06-29 00:38:56 +02:00 |
|
Bartosz Taudul
|
41e8648701
|
Adjust GPU zones to set time drift.
|
2018-06-28 01:12:25 +02:00 |
|
Bartosz Taudul
|
bab798c13c
|
GPU context time drift storage.
|
2018-06-28 01:08:08 +02:00 |
|
Bartosz Taudul
|
0b9559c05b
|
Retrieval of GPU context from GPU zone.
|
2018-06-28 01:07:21 +02:00 |
|
Bartosz Taudul
|
39eccd5b08
|
Extract "center view at time" function.
|
2018-06-22 20:21:02 +02:00 |
|
Bartosz Taudul
|
3404d191f0
|
Fix non-unique child ids in memory window.
|
2018-06-22 00:10:00 +02:00 |
|
Bartosz Taudul
|
15ff98b64a
|
Push detailed callstack to a separate window.
Only show function names (no source files or line numbers) in callstack
tooltip.
|
2018-06-20 13:23:08 +02:00 |
|
Bartosz Taudul
|
4ba95145da
|
Display raw callstack payload.
|
2018-06-19 22:19:33 +02:00 |
|
Bartosz Taudul
|
d49be792ba
|
Cache bin containers in compare view.
|
2018-06-06 23:09:46 +02:00 |
|
Bartosz Taudul
|
da5d35c364
|
Cache bin containers in find zone.
|
2018-06-06 23:06:00 +02:00 |
|
Bartosz Taudul
|
859bf01992
|
Support displaying self times in statistics view.
|
2018-06-06 00:47:16 +02:00 |
|
Bartosz Taudul
|
785a30a68b
|
Implement going to next/previous frame.
|
2018-06-02 22:27:35 +02:00 |
|
Bartosz Taudul
|
3ea5fd93ed
|
Simple and not so simple draw plot point functions.
|
2018-05-27 19:51:45 +02:00 |
|
Bartosz Taudul
|
1cc798cea3
|
Construct zone info stack.
|
2018-05-02 19:23:46 +02:00 |
|
Bartosz Taudul
|
e5934b409a
|
Don't use Vector for memory pages storage.
Vector has POT data size and we know exactly how much is needed.
|
2018-05-01 17:26:34 +02:00 |
|
Bartosz Taudul
|
4c521ce92a
|
Loaded traces may be unloaded.
|
2018-04-30 01:16:08 +02:00 |
|
Bartosz Taudul
|
afa432a087
|
Non-user plots must have predefined names.
|
2018-04-28 16:26:45 +02:00 |
|
Bartosz Taudul
|
ecabf24c4e
|
Optional normalization of compared data.
|
2018-04-22 02:19:22 +02:00 |
|
Bartosz Taudul
|
41738469f1
|
Add trace compare window.
|
2018-04-22 00:52:33 +02:00 |
|
Bartosz Taudul
|
2ef9fe0743
|
Enable log time in find zone menu by default.
|
2018-04-21 22:21:15 +02:00 |
|
Bartosz Taudul
|
6c2d7628ee
|
Don't draw off-screen gpu zones.
|
2018-04-20 23:28:19 +02:00 |
|
Bartosz Taudul
|
a2779eccaf
|
Don't draw off-screen zones.
|
2018-04-20 23:19:04 +02:00 |
|
Bartosz Taudul
|
9fc14d2faf
|
Don't draw off-screen plots.
|
2018-04-20 23:00:26 +02:00 |
|
Bartosz Taudul
|
cd7a1cffe8
|
Don't draw off-screen locks.
|
2018-04-20 22:53:31 +02:00 |
|
Bartosz Taudul
|
093787b3e8
|
Move find zone setup to a dedicated function.
|
2018-04-05 19:30:32 +02:00 |
|
Bartosz Taudul
|
f0573d68bd
|
Store memory pages in a contiguous memory area.
|
2018-04-03 19:17:32 +02:00 |
|
Bartosz Taudul
|
bf99bff87d
|
Store MemEvents directly in the vector.
|
2018-04-03 14:17:51 +02:00 |
|
Bartosz Taudul
|
78cd86dd69
|
Memory pages bitmap calculation.
|
2018-04-02 18:51:32 +02:00 |
|
Bartosz Taudul
|
e80891e36d
|
Allow restricting displayed allocs by time.
|
2018-04-02 16:07:33 +02:00 |
|
Bartosz Taudul
|
c4a36398f6
|
Move memory allocations table drawing to a separate function.
|
2018-04-02 02:39:12 +02:00 |
|
Bartosz Taudul
|
912cfdbc5e
|
Search for zone present in given thread at given time.
|
2018-04-01 21:47:08 +02:00 |
|
Bartosz Taudul
|
20824a200c
|
Implement search for memory address.
|
2018-04-01 21:24:30 +02:00 |
|
Bartosz Taudul
|
c686b86464
|
Add rudimentary memory information window.
|
2018-04-01 20:34:58 +02:00 |
|
Bartosz Taudul
|
16a98c8c17
|
Move benaphore to common directory.
|
2018-04-01 18:59:55 +02:00 |
|
Bartosz Taudul
|
ae274d8e37
|
Different ways of sorting of statistics data.
|
2018-03-24 17:28:10 +01:00 |
|
Bartosz Taudul
|
3a49e9a4be
|
Statistics window shell.
|
2018-03-24 14:40:48 +01:00 |
|
Bartosz Taudul
|
c0577fd5b2
|
Unordered map is no longer used.
|
2018-03-23 21:18:52 +01:00 |
|
Bartosz Taudul
|
4837ce31ff
|
Allow sorting zone groups by count.
|
2018-03-20 17:19:48 +01:00 |
|
Bartosz Taudul
|
37808ec4c7
|
Fix the horribly inefficient Visible() and ShowFull() methods.
|
2018-03-20 15:33:38 +01:00 |
|
Bartosz Taudul
|
ad37f0857b
|
Highlight selected zone group on histogram.
|
2018-03-20 14:37:58 +01:00 |
|
Bartosz Taudul
|
0f6ec65b65
|
GPU zone thread getter.
|
2018-03-19 16:11:37 +01:00 |
|
Bartosz Taudul
|
0d831e452b
|
Add ability to group zones by user text.
|
2018-03-19 16:01:36 +01:00 |
|
Bartosz Taudul
|
ce2bf7c207
|
Use Vector instead of std::vector for thread zone list.
|
2018-03-18 21:15:31 +01:00 |
|
Bartosz Taudul
|
77fa8f54a6
|
Restore per-thread zone list functionality.
|
2018-03-18 16:41:58 +01:00 |
|
Bartosz Taudul
|
d08c10c5b6
|
Add functionality for getting zone thread.
|
2018-03-18 16:38:42 +01:00 |
|
Bartosz Taudul
|
af3559afed
|
Only display results for a single source location match.
|
2018-03-18 16:07:07 +01:00 |
|
Bartosz Taudul
|
7a4e7cbf86
|
Reduce data collection if TRACY_NO_STATISTICS is defined.
Statistical data collection is only useful if it's meant to be used.
Otherwise it only incurs CPU and memory cost.
|
2018-03-18 12:55:54 +01:00 |
|
Bartosz Taudul
|
746df21ad9
|
Live updates of find zone data.
TODO: found zones list. Currently only histogram view is available.
|
2018-03-18 02:43:17 +01:00 |
|
Bartosz Taudul
|
f733758652
|
Time accumulation histogram mode.
|
2018-03-05 20:15:18 +01:00 |
|
Bartosz Taudul
|
f510d8d2e7
|
Update item counts in thread list.
|
2018-03-04 23:17:36 +01:00 |
|
Bartosz Taudul
|
f42d8cee38
|
Selection of time range on histogram.
|
2018-03-04 22:52:36 +01:00 |
|
Bartosz Taudul
|
dee7fd27be
|
Move mouse highlight data to a separate struct.
|
2018-03-04 22:21:35 +01:00 |
|
Bartosz Taudul
|
f7829a7eae
|
Store matches in a map.
|
2018-03-04 22:11:50 +01:00 |
|
Bartosz Taudul
|
754279d6f1
|
Allow narrowing down search results by source location.
|
2018-03-04 21:17:38 +01:00 |
|
Bartosz Taudul
|
2c508c1f79
|
Display list of matched source locations in search window.
|
2018-03-04 21:10:10 +01:00 |
|
Bartosz Taudul
|
80da271a2c
|
Don't match source location on a per-zone basis.
|
2018-03-04 16:53:13 +01:00 |
|
Bartosz Taudul
|
b09bae07c4
|
Change default find parameters to unlimited.
|
2018-03-04 16:07:10 +01:00 |
|
Bartosz Szreder
|
9e3f18a62a
|
Split data handling code from the view.
|
2018-02-21 16:41:37 +01:00 |
|
Bartosz Taudul
|
118d4b497f
|
Time Stamp Counter to time conversion function.
|
2018-02-20 12:40:12 +01:00 |
|
Bartosz Taudul
|
4611bc355f
|
Optional log time scale in histogram.
|
2018-02-16 15:34:22 +01:00 |
|
Bartosz Taudul
|
9678cc8afc
|
Support logarithmic scaling of values on search histogram.
|
2018-02-16 13:28:40 +01:00 |
|
Kamil Klimek
|
cb08990eff
|
"Find Zone" feature
- Simple text search with some limiting options
- Grouping by threads
- Easy access to "Zone Info" from search results
|
2018-01-18 12:35:30 +01:00 |
|
Bartosz Taudul
|
d0d3bb1141
|
Store shared lock bits only for shared locks.
|
2017-12-17 18:44:31 +01:00 |
|
Bartosz Taudul
|
bcf2bf1c5c
|
Shared lock events (still using old functionality).
|
2017-12-10 22:04:49 +01:00 |
|
Bartosz Taudul
|
3567d7edd8
|
Reintroduce lock announce events.
|
2017-12-10 21:40:48 +01:00 |
|
Bartosz Taudul
|
6942f84a99
|
Last time is now cached, not calculated.
|
2017-12-09 20:05:34 +01:00 |
|
Bartosz Taudul
|
081087b9ce
|
Drop an indirection level in plots.
|
2017-12-05 21:24:09 +01:00 |
|
Bartosz Taudul
|
dd8694350e
|
Add zoom-to-range animation.
|
2017-11-27 22:41:30 +01:00 |
|
Bartosz Taudul
|
ba80b0c16a
|
Use one common function for zooming to range.
|
2017-11-27 22:12:26 +01:00 |
|
Bartosz Taudul
|
cd26a6f8ff
|
Improve text legibility by drawing text shadow.
|
2017-11-25 15:45:16 +01:00 |
|
Bartosz Taudul
|
a515bf8878
|
Perform GPU to CPU resynchronization on each collect event.
|
2017-11-25 13:33:57 +01:00 |
|
Bartosz Taudul
|
f2a19c4593
|
Use flat_hash_map for source location payload map.
|
2017-11-24 01:10:12 +01:00 |
|
Bartosz Taudul
|
7a13892754
|
Split srcloc check and creation.
|
2017-11-24 01:05:42 +01:00 |
|
Bartosz Taudul
|
184039d500
|
One check in CheckSourceLocation.
|
2017-11-24 00:53:04 +01:00 |
|
Bartosz Taudul
|
ccb39ad4bd
|
Just one early exit check in CheckString/CheckThreadString.
|
2017-11-24 00:45:55 +01:00 |
|
Bartosz Taudul
|
79dec4eafe
|
Display compression ratio and uncompressed data throughput.
|
2017-11-23 01:23:40 +01:00 |
|
Bartosz Taudul
|
5d7fd5805a
|
Don't hash pointers and such.
|
2017-11-22 00:23:43 +01:00 |
|
Bartosz Taudul
|
d5ea8a86a4
|
Remove GPU context indirection.
|
2017-11-21 02:10:41 +01:00 |
|
Bartosz Taudul
|
63c070228c
|
Remove indirection in plot storage.
|
2017-11-21 02:06:17 +01:00 |
|
Bartosz Taudul
|
59c7cf2bcd
|
Force inline functions that have single path of execution.
|
2017-11-19 20:01:39 +01:00 |
|
Bartosz Taudul
|
47c23c9066
|
Force inline NewZone.
|
2017-11-19 19:39:25 +01:00 |
|
Bartosz Taudul
|
c1a79c0622
|
Force inline checker functions.
|
2017-11-19 19:23:07 +01:00 |
|
Bartosz Taudul
|
7a4c6b3d68
|
Split heavy used functions into check and add parts.
|
2017-11-19 17:58:56 +01:00 |
|
Bartosz Taudul
|
ff35f2960a
|
Remove a level of indirection.
|
2017-11-19 16:27:23 +01:00 |
|
Bartosz Taudul
|
b3e0d2660d
|
Properly use zone stack when inserting new zones.
CPU zones stack was also moved to thread data struct.
|
2017-11-19 01:16:21 +01:00 |
|
Bartosz Taudul
|
68f8bb906e
|
New context events are not serialized.
|
2017-11-18 01:49:44 +01:00 |
|
Bartosz Taudul
|
abd0676cea
|
Use flat_hash_map.
|
2017-11-15 23:15:59 +01:00 |
|
Bartosz Taudul
|
13d8d9255e
|
Use benaphore instead of mutex.
|
2017-11-15 21:49:41 +01:00 |
|
Bartosz Taudul
|
7187e1e5f5
|
Some strings are always indices.
This saves 4 bytes.
|
2017-11-15 10:56:27 +01:00 |
|