Commit Graph

531 Commits

Author SHA1 Message Date
Bartosz Taudul
b07718ab9e Track list of shared locks. 2017-12-10 22:42:39 +01:00
Bartosz Taudul
4d9ae83abd Fix assert. 2017-12-10 22:42:25 +01:00
Bartosz Taudul
398eecbb94 Store LockEvent type as an enum class. 2017-12-10 22:37:56 +01:00
Bartosz Taudul
bcf2bf1c5c Shared lock events (still using old functionality). 2017-12-10 22:04:49 +01:00
Bartosz Taudul
782231b048 Shared lockable skeleton. 2017-12-10 21:49:45 +01:00
Bartosz Taudul
bc27bbde37 Display mutex type. 2017-12-10 21:49:23 +01:00
Bartosz Taudul
3567d7edd8 Reintroduce lock announce events. 2017-12-10 21:40:48 +01:00
Bartosz Taudul
ea604d484d Don't show mutex as blocked, if there are no locks held. 2017-12-10 21:40:48 +01:00
Bartosz Taudul
0f2d41413f Include plots, msgs, gpu zones, locks in last time calculation. 2017-12-09 20:10:32 +01:00
Bartosz Taudul
6942f84a99 Last time is now cached, not calculated. 2017-12-09 20:05:34 +01:00
Bartosz Taudul
86006e8416 Simplify GetNextLockEvent(). 2017-12-09 19:28:12 +01:00
Bartosz Taudul
b67989ab54 No need for nextState variable. 2017-12-09 19:24:35 +01:00
Bartosz Taudul
981bbfe42d Reorder LockEvent fields. 2017-12-09 19:13:59 +01:00
Bartosz Taudul
cf5ee65604 Vectorize loop. 2017-12-09 00:15:10 +01:00
Bartosz Taudul
d0dfa62f43 Force inline internal pdqsort functions. 2017-12-08 23:25:48 +01:00
Bartosz Taudul
86c5dcced9 __cplusplus check won't work on MSVC. 2017-12-08 23:14:55 +01:00
Bartosz Taudul
0da09bc62b Use pdqsort. 2017-12-08 23:14:55 +01:00
Bartosz Taudul
2c4eaf162d Add pdqsort.
https://github.com/orlp/pdqsort.git
979c0a05f3e78977dc1f5218d13234d7ee89d1e7
2017-12-08 23:02:48 +01:00
Bartosz Taudul
48678b3bd7 Drop bitfield usage. 2017-12-05 22:34:48 +01:00
Bartosz Taudul
5407676f1f Microoptimize thread bit operations. 2017-12-05 22:22:07 +01:00
Bartosz Taudul
52df06d478 Calculate and use thread bit. 2017-12-05 22:09:53 +01:00
Bartosz Taudul
b578554223 Reserve lockmap timeline. 2017-12-05 21:55:00 +01:00
Bartosz Taudul
081087b9ce Drop an indirection level in plots. 2017-12-05 21:24:09 +01:00
Bartosz Taudul
702f235c1b Reserve-and-use functionality in Vector. 2017-12-05 21:23:51 +01:00
Bartosz Taudul
c58f1b09d1 Allow RW access to Vector's data. 2017-12-05 21:23:39 +01:00
Bartosz Taudul
a33e70567b Add GUI for GPU context hiding. 2017-11-30 15:34:52 +01:00
Bartosz Taudul
5246098c79 GPU context hiding plumbing. 2017-11-30 15:31:31 +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
eeca0676df Even simpler lock state combining. 2017-11-26 21:37:57 +01:00
Bartosz Taudul
50795cdf43 Declare buffer at function start. 2017-11-26 17:27:51 +01:00
Bartosz Taudul
b82434d7c3 No need for lambda in sort. 2017-11-26 17:13:24 +01:00
Bartosz Taudul
91758423cd Optimize lock state combining.
There are four possible lock states:
1. Nothing
2. HasLock
3. HasBlockingLock
4. WaitLock

The previous switch was implementing the following state transition:

s\n| 1 | 2 | 3 | 4
---+---+---+---+---
 1 | 1 | 2 | 3 | 4
---+---+---+---+---
 2 | 2 | 2 | 3 | 4
---+---+---+---+---
 3 | 3 | 3 | 3 | 4
---+---+---+---+---
 4 | 4 | 4 | 4 | 4

As can be seen, the switch effectively searches for the highest state
possible. This change implements it as such.
2017-11-26 16:42:50 +01:00
Bartosz Taudul
c044884dd9 Fix signed/unsigned mismatch. 2017-11-26 02:36:38 +01:00
Bartosz Taudul
6bbed5db82 Increase plot min/max value legibility. 2017-11-26 02:32:00 +01:00
Bartosz Taudul
4b548156b1 Proper display of negative time. 2017-11-26 02:24:13 +01:00
Bartosz Taudul
b2b3e7d739 Draw timescale. 2017-11-26 02:18:17 +01:00
Bartosz Taudul
e495cb959e Fix StringRef initialization. 2017-11-26 01:43:08 +01:00
Bartosz Taudul
d40488ccf1 Add more numeric separators. 2017-11-25 15:48:41 +01:00
Bartosz Taudul
cd26a6f8ff Improve text legibility by drawing text shadow. 2017-11-25 15:45:16 +01:00
Bartosz Taudul
2f9a3f7046 Colors are always in RGB order. 2017-11-25 15:33:10 +01:00
Bartosz Taudul
4d99560f7c Add some more numeric separators. 2017-11-25 13:50:41 +01:00
Bartosz Taudul
2e88f30e15 Display number of lock events in tooltip. 2017-11-25 13:48:03 +01:00
Bartosz Taudul
a515bf8878 Perform GPU to CPU resynchronization on each collect event. 2017-11-25 13:33:57 +01:00
Bartosz Taudul
0100266234 Use consistent names. 2017-11-25 13:14:16 +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