Bartosz Taudul
c2797a4cc7
Data packets can't cross data buffer boundary.
2017-11-11 15:08:03 +01:00
Bartosz Taudul
fc4e31bb8f
Wait for send buffer to be full before sending data.
2017-11-11 14:16:37 +01:00
Bartosz Taudul
bc77aa8d26
Source location payload transfer. No storage yet.
2017-11-05 16:46:00 +01:00
Bartosz Taudul
3659afac2a
Move another big buffer out of stack.
2017-11-02 17:37:10 +01:00
Bartosz Taudul
cea7cdd716
Don't create big buffers on stack.
2017-11-02 12:58:38 +01:00
Bartosz Taudul
f861f89134
Disable rdtscp on android.
2017-10-30 16:23:23 +01:00
Bartosz Taudul
97880a89ae
Clobber ecx register.
2017-10-29 16:20:07 +01:00
Bartosz Taudul
a220043114
Add no-cpu GetTime() variant.
...
In this version the address of cpu output variable is const, so there's
no stack address calculation involved.
2017-10-29 16:12:16 +01:00
Bartosz Taudul
68f5a17bca
Use 32-bit registers for rdtscp output.
2017-10-29 13:15:43 +01:00
Bartosz Taudul
f1da7c1c85
Force TLS block creation on cygwin before malloc.
2017-10-20 18:28:25 +02:00
Bartosz Taudul
51013dc0e6
Manual allocation of socket memory.
2017-10-18 19:50:28 +02:00
Bartosz Taudul
fc94378e0c
Move TracyAlloc.hpp to common. Use rpmalloc only if TRACY_ENABLE.
2017-10-18 19:50:28 +02:00
Bartosz Taudul
7c47edc64f
Terminate connection handshake.
2017-10-18 18:48:51 +02:00
Bartosz Taudul
51f5ae4796
More precise profiler init end time measurement.
2017-10-17 01:07:54 +02:00
Bartosz Taudul
9f28205548
Use custom threading wrapper instead of std::thread.
...
std::thread may perform memory allocation when a thread is created (it
does so on MSVC). Tracy heap is managed by its own allocator and this
changes prevents accessing application heap.
2017-10-16 21:17:58 +02:00
Bartosz Taudul
5b9fcddfb3
String literal message transfer.
2017-10-15 13:06:49 +02:00
Bartosz Taudul
40bc4c8015
Missing include.
2017-10-14 17:21:14 +02:00
Bartosz Taudul
c497966c7f
Use rpmalloc to allocate tracy client memory.
2017-10-14 17:15:18 +02:00
Bartosz Taudul
8c7b60fbe6
Allow sending text messages.
2017-10-14 13:23:13 +02:00
Bartosz Taudul
cb0011755d
Prevent type conversions.
2017-10-13 02:21:29 +02:00
Bartosz Taudul
f0484b50ca
Plot data transfer.
2017-10-13 02:07:03 +02:00
Bartosz Taudul
e23da05a65
Workaround gcc stupidity.
2017-10-11 01:44:35 +02:00
Bartosz Taudul
77dfefb5d0
Remove one stack address load.
2017-10-11 01:27:22 +02:00
Bartosz Taudul
af3773dc9a
Remove one level of indirection.
2017-10-11 01:04:21 +02:00
Bartosz Taudul
cc8b357f09
Avoid excessive stack operations for cpu query.
2017-10-10 23:21:30 +02:00
Bartosz Taudul
75457c1465
Remove +x flag from files.
2017-10-10 21:56:15 +02:00
Bartosz Taudul
3f0bd793fd
Send program start time, not connection time.
2017-10-04 00:34:05 +02:00
Bartosz Taudul
b1aa16763b
Prevent accesing TLS data twice on gcc.
2017-10-03 16:55:04 +02:00
Bartosz Taudul
d1edd30ca6
Zone ids are unnecessary.
2017-10-03 16:41:32 +02:00
Bartosz Taudul
2fb4c47491
Remember to calibrate timer.
2017-10-03 15:35:43 +02:00
Bartosz Taudul
7b1135239c
Use rdtscp when there's no intrinsic.
2017-10-03 15:28:31 +02:00
Bartosz Taudul
9cde85646a
Fix typo.
2017-10-03 15:16:48 +02:00
Bartosz Taudul
e01d378f52
More force inlining.
2017-10-03 15:10:25 +02:00
Bartosz Taudul
ba037e5798
Do not store tail index in memory.
2017-10-03 14:50:55 +02:00
Bartosz Taudul
353fda95a3
Expose profiler internals to make it easier for inlining.
...
concurrentqueue.h doesn't bring any poisonous includes, only STL.
2017-10-03 14:22:49 +02:00
Bartosz Taudul
a1abf1f015
Record CPU id.
2017-10-01 19:17:08 +02:00
Bartosz Taudul
f46781808c
Construct queue items directly in queue memory.
2017-10-01 17:49:45 +02:00
Bartosz Taudul
6a2cb2c14e
Calculate timer resolution.
2017-09-29 18:29:39 +02:00
Bartosz Taudul
8c1c395cec
Allow sending custom zone names.
2017-09-28 19:28:24 +02:00
Bartosz Taudul
d1bbb731fc
Zone text (custom string) transfer.
2017-09-27 02:18:17 +02:00
Bartosz Taudul
3cc7cc596e
Remove GetNewId() from Profiler interface.
2017-09-27 01:02:04 +02:00
Bartosz Taudul
f584bf76e8
Profiler ID can be static (one less instruction).
2017-09-27 00:30:02 +02:00
Bartosz Taudul
e076d1d475
Send source location answer in stream, not as separate packet.
2017-09-26 19:00:25 +02:00
Bartosz Taudul
e90a86e06e
Store zone color in source location struct.
2017-09-26 18:54:48 +02:00
Bartosz Taudul
7424077d70
Store source location in a single object.
...
Source file, function name and line number are now stored in a const
static container object. This has the following benefits:
- Slightly lighter profiling workload (3 instructions less).
- Profiling queue event size is significantly reduced, by 12 bytes. This
has an effect on all queue event types.
- Source location grouping has now no cost, as it's performed at the
compilation stage. This allows simplification of server code.
The downside is that the full source location resolution is now
performed in two steps, as the server has to query both source location
container and strings contained within. This has almost no real impact
on profiler operation.
2017-09-26 02:39:08 +02:00
Bartosz Taudul
e5ad7d9ac4
GetTime() call can be now inlined.
...
No dependencies on either windows.h, or static instance of Profiler.
2017-09-26 00:42:09 +02:00
Bartosz Taudul
fce04c6215
Profiling delay calibration.
2017-09-24 16:02:09 +02:00
Bartosz Taudul
7770014844
Use rdtscp to measure time on windows.
2017-09-23 21:33:05 +02:00
Bartosz Taudul
bd9ffc16b5
Hide GetTime() in Profiler.
2017-09-23 21:10:26 +02:00
Bartosz Taudul
2faa1abb21
Store main thread id.
2017-09-23 01:37:07 +02:00