1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00
Commit Graph

67 Commits

Author SHA1 Message Date
Bartosz Taudul 2f669aea41 Workaround gcc issues. 2017-11-15 10:56:27 +01:00
Bartosz Taudul c43eb29ce0 Don't send source location pointer in query reply.
Since reply order is the same as the query order, the server already
knows what source location it receives. This observation allows placing
zone name into the source location struct.
2017-11-14 23:06:45 +01:00
Bartosz Taudul 3c00ce0958 GPU context registration. 2017-11-11 19:44:09 +01:00
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