Commit Graph
40 Commits
Author SHA1 Message Date
Bartosz Taudul d7914439e9 Use stream compression.
Previously each data packet was compressed independently. After this
change all new packets reference the previously sent data, which
achieves better compression.
2017-09-17 13:10:58 +02:00
Bartosz Taudul 03ece0ac48 Send frame markers. 2017-09-16 00:30:27 +02:00
Bartosz Taudul ff07576d96 Reply to string requests. 2017-09-14 19:25:16 +02:00
Bartosz Taudul f61f50385d Add ability to send strings over network. 2017-09-14 19:24:35 +02:00
Bartosz Taudul f3ce055568 Mirror TracyView::ShouldExit in TracyProfiler. 2017-09-14 19:23:50 +02:00
Bartosz Taudul 2442c8fe58 Use one flag to control whether LZ4 is enabled. 2017-09-14 19:09:14 +02:00
Bartosz Taudul 76df000467 Move sending data to a separate function. 2017-09-14 19:07:56 +02:00
Bartosz Taudul d999f35dfa Exchange time and id in queue header and data structs. 2017-09-14 01:14:40 +02:00
Bartosz Taudul 10b88754d8 Allow direct access to data size table index. 2017-09-14 01:05:08 +02:00
Bartosz Taudul 52d24d0d4c s_instance ptr may be accessed by thread. 2017-09-13 23:36:40 +02:00
Bartosz Taudul efd66bb609 Allow changing lz4 size type. 2017-09-13 23:27:17 +02:00
Bartosz Taudul 16dd561029 Move protocol specific sizes to common header. 2017-09-13 22:56:55 +02:00
Bartosz Taudul a31ab6a256 Move TracyQueue.hpp to common. 2017-09-13 22:56:08 +02:00
Bartosz Taudul 45646c4f45 Move TracySystem to a common directory. 2017-09-13 01:32:11 +02:00
Bartosz Taudul 997f0c64c3 Store pointers as uint64.
Pointers can't be stored as pointers, as that would cause mismatch in
wire protocol between 32 and 64 bit builds.
2017-09-13 01:24:42 +02:00
Bartosz Taudul e8d64de5c1 Disable LZ4 in debug builds (too slow). 2017-09-12 02:20:05 +02:00
Bartosz Taudul 1ea61c2f2c Use LZ4 to compress network data.
This greatly reduces required network bandwidth, which in effect speeds
up queue processing.

Time to process a single event queue item:

      | Raw data | With LZ4 |
------+----------+----------+
Deque |  6.86 ns |   6.7 ns |
Pack  |  4.03 ns |   4.0 ns |
LZ4   |  ---     |  21.6 ns |
Send  | 214.5 ns |   5.2 ns |
------+----------+----------+
Total | 225.4 ns | 37.58 ns |
2017-09-12 02:13:22 +02:00
Bartosz Taudul 3df4cf8acd Don't send unused data. 2017-09-12 01:14:04 +02:00
Bartosz Taudul 25d7cebd8a Move common event data to separate struct. 2017-09-12 00:56:31 +02:00
Bartosz Taudul aa10adcc9c Explicitly describe target frame size. 2017-09-12 00:49:38 +02:00
Bartosz Taudul 30ceac359d Increase block size. 2017-09-12 00:46:10 +02:00
Bartosz Taudul 6092c695bd All enqueue operations are performed with a token. 2017-09-12 00:43:25 +02:00
Bartosz Taudul e04e1580c4 Adjust data size to fully utilize TCP packet size. 2017-09-12 00:38:33 +02:00
Bartosz Taudul 37405bafde Pack queue item. 2017-09-12 00:28:50 +02:00
Bartosz Taudul 8fb8e4f792 No need for sleep, Accept() already sleeps. 2017-09-11 23:16:17 +02:00
Bartosz Taudul 8747da8e2c Send event data over network. 2017-09-11 22:51:47 +02:00
Bartosz Taudul 8d3aae24bf Use producer tokens during event insertion. 2017-09-10 20:52:10 +02:00
Bartosz Taudul 452e5c5c83 Increase bulk size to 1024. 2017-09-10 20:40:28 +02:00
Bartosz Taudul 6886d5035e Dequeue events (and do nothing with them). 2017-09-10 20:23:06 +02:00
Bartosz Taudul 6a7fdea6fd Store profiling start time. 2017-09-10 20:14:16 +02:00
Bartosz Taudul 5964a6864c Scoped zone macro. 2017-09-10 20:10:20 +02:00
Bartosz Taudul 09f9937133 Scoped zone wrapper. 2017-09-10 20:09:57 +02:00
Bartosz Taudul 12a6306c0b Allow queuing zones. 2017-09-10 20:09:14 +02:00
Bartosz Taudul 05486c8225 Add unique event identifier source. 2017-09-10 20:08:42 +02:00
Bartosz Taudul e4356eb67e Time retrieval function. 2017-09-10 20:07:38 +02:00
Bartosz Taudul fc1b131c7a Add event queue structures. 2017-09-10 20:06:52 +02:00
Bartosz Taudul ea9464f4f6 Make sure string constants are at the same memory address. 2017-09-10 20:02:40 +02:00
Bartosz Taudul b4f8901a8d Add MPMC queue.
https://github.com/cameron314/concurrentqueue.git
b276773a1babd702b020a91ea2443985a65bab11
2017-09-10 19:01:14 +02:00
Bartosz Taudul 4a05da273f Set worker thread name. 2017-09-10 17:46:20 +02:00
Bartosz Taudul a5d6039aea Profiler worker thread skeleton. 2017-09-10 17:43:56 +02:00