Till Rathmann
|
37d5736bf5
|
Fixed compiler warnings.
|
2018-08-01 14:07:30 +02:00 |
|
Till Rathmann
|
2dcfe5fce0
|
Made s_threadNameDataInstance and s_profilerInstance static.
|
2018-07-31 13:03:09 +02:00 |
|
Till Rathmann
|
dd042619e9
|
Support for multi-DLL projects.
|
2018-07-31 12:06:04 +02:00 |
|
Bartosz Taudul
|
31c2ddb8ac
|
Rename client's SourceLocation to SourceLocationData.
|
2018-07-28 00:34:04 +02:00 |
|
Bartosz Taudul
|
3737e122cf
|
Of course, this can't work without stupid fuckery.
|
2018-07-26 19:59:55 +02:00 |
|
Arvid Gerstmann
|
b8db9df949
|
Detect glibc explicitly
|
2018-07-14 13:23:00 +02:00 |
|
Arvid Gerstmann
|
ad48c32e1e
|
Support for callstacks on Linux without glibc
|
2018-07-14 11:08:17 +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 |
|
Arvid Gerstmann
|
9ac47eef0a
|
Merged in Leandros99/tracy/dev (pull request #9)
Couple of minor compatibility fixes
|
2018-07-13 22:05:13 +00:00 |
|
Bartosz Taudul
|
e285c837a4
|
Support TRACY_NO_EXIT env variable in addition to define.
|
2018-07-13 23:55:40 +02:00 |
|
Arvid Gerstmann
|
32fc011f80
|
Silence unused parameter warning
|
2018-07-13 23:39:25 +02:00 |
|
Bartosz Taudul
|
c3ba0ef4eb
|
Fix lua zone state init.
|
2018-07-13 20:21:50 +02:00 |
|
Bartosz Taudul
|
26f2cb336e
|
Return value from non-void function.
|
2018-07-13 20:12:39 +02:00 |
|
Bartosz Taudul
|
a3c898f8b8
|
Rename FrameMark() to SendFrameMark().
This avoids conflict with FrameMark define.
|
2018-07-13 20:09:19 +02:00 |
|
Arvid Gerstmann
|
6b87aecdce
|
Wrap concurrentqueue in tracy namespace
|
2018-07-13 20:01:27 +02:00 |
|
Bartosz Taudul
|
b11695111d
|
Implement on-demand Lua zone capture.
|
2018-07-12 12:53:35 +02:00 |
|
Bartosz Taudul
|
fbc5556ddd
|
Send memory events in on-demand mode.
|
2018-07-12 01:36:01 +02:00 |
|
Bartosz Taudul
|
26d5c4b302
|
Fix copy pasta.
|
2018-07-11 14:43:38 +02:00 |
|
Bartosz Taudul
|
96f39281a1
|
Implement on-demand locks.
|
2018-07-11 14:17:20 +02:00 |
|
Bartosz Taudul
|
d87508901f
|
Send deferred data.
|
2018-07-11 12:28:40 +02:00 |
|
Bartosz Taudul
|
ad0a75da7d
|
Defer lock announcements.
|
2018-07-11 12:24:58 +02:00 |
|
Bartosz Taudul
|
475d151b2d
|
Implement deferring items.
|
2018-07-11 12:21:39 +02:00 |
|
Bartosz Taudul
|
a99d74966c
|
Active status of scoped zone can't change.
|
2018-07-11 12:16:55 +02:00 |
|
Bartosz Taudul
|
52207f20b7
|
Add deferred events queue.
|
2018-07-11 12:14:28 +02:00 |
|
Bartosz Taudul
|
c2659473fd
|
Free memory associated with cleared queue items.
|
2018-07-11 01:34:48 +02:00 |
|
Bartosz Taudul
|
b1a71174db
|
Messages are also safe.
|
2018-07-10 23:09:59 +02:00 |
|
Bartosz Taudul
|
e80c677fa0
|
Plots can be safely sent in on-demand mode.
|
2018-07-10 23:06:27 +02:00 |
|
Bartosz Taudul
|
6a9caabc63
|
Send on-demand initial payload message.
|
2018-07-10 22:37:39 +02:00 |
|
Bartosz Taudul
|
43d5ab4382
|
Count frames in on-demand mode.
|
2018-07-10 22:27:19 +02:00 |
|
Bartosz Taudul
|
03794a2957
|
Send frame marks in on-demand mode.
|
2018-07-10 22:27:19 +02:00 |
|
Bartosz Taudul
|
f8b2ffdc7e
|
Clear queues before new on-demand connection is made.
|
2018-07-10 22:27:19 +02:00 |
|
Bartosz Taudul
|
a767c5ea08
|
Trace zones in on-demand mode.
|
2018-07-10 22:27:19 +02:00 |
|
Bartosz Taudul
|
c973735b49
|
Track connection status.
|
2018-07-10 22:27:19 +02:00 |
|
Bartosz Taudul
|
010b19946f
|
Send on-demand status in welcome message.
|
2018-07-10 21:44:23 +02:00 |
|
Bartosz Taudul
|
c056f3be41
|
Send keep alive messages to determine if client disconnected.
|
2018-07-10 21:39:17 +02:00 |
|
Bartosz Taudul
|
e5b133073c
|
Disable all tracing if TRACY_ON_DEMAND is defined.
|
2018-07-10 20:49:51 +02:00 |
|
Tobias Widlund
|
626a995c63
|
Add size_t casts in asserts to get rid of sign-compare warnings on GCC
|
2018-07-01 20:02:53 +02:00 |
|
Tobias Widlund
|
273355b665
|
Change system include from using "" to <>
|
2018-06-30 16:00:51 +02:00 |
|
Tobias Widlund
|
b6cce4ddb6
|
Improve fixes for warnings as per request
|
2018-06-30 15:36:06 +02:00 |
|
Tobias Widlund
|
1c467a5847
|
Fix warning re shadowing, implicit conversion and added include <cstdio>
|
2018-06-30 11:47:27 +02:00 |
|
Bartosz Taudul
|
b29d60056a
|
Custom per-zone name transfer.
|
2018-06-29 16:01:31 +02:00 |
|
Bartosz Taudul
|
84c34ad826
|
Handle unicode builds.
|
2018-06-25 10:55:07 +02:00 |
|
Bartosz Taudul
|
64a38c591b
|
Don't perform multiple NeedDataSize checks.
|
2018-06-23 02:19:23 +02:00 |
|
Bartosz Taudul
|
4d197ec7a2
|
Unsafe version of AppendData.
|
2018-06-23 02:16:58 +02:00 |
|
Bartosz Taudul
|
a2c6848433
|
Send callstack payload without iteration, if possible.
|
2018-06-23 02:13:52 +02:00 |
|
Bartosz Taudul
|
a7ace6ef9e
|
Directly use RtlWalkFrameChain.
RtlCaptureStackBackTrace is just a wrapper for RtlWalkFrameChain.
|
2018-06-23 02:07:47 +02:00 |
|
Bartosz Taudul
|
19e83b434e
|
Increase max length of symbol on windows.
|
2018-06-23 00:27:14 +02:00 |
|
Bartosz Taudul
|
f0ce7de193
|
Move callstack collection in mem events out of critical section.
|
2018-06-22 23:00:03 +02:00 |
|
Bartosz Taudul
|
55ddb64352
|
GPU context counter is now 8 bit.
|
2018-06-22 15:10:23 +02:00 |
|
Bartosz Taudul
|
b6088b908f
|
Callstack capture for ZoneBegin.
|
2018-06-22 00:56:30 +02:00 |
|