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
34533ad4f1
Dynamically import GetDpiForSystem, to support older Windows versions
2018-07-13 23:41:38 +02:00
Arvid Gerstmann
3e012cb762
Compile standalone on macOS
2018-07-13 19:22:09 +02:00
Bartosz Taudul
ba68df329f
Viewer is now system DPI aware on windows.
2018-06-29 00:31:05 +02:00
Bartosz Taudul
4c16aa9b96
Store build objects in separate directories.
2018-06-27 20:31:17 +02:00
Bartosz Taudul
87467a472c
Add variable sized const array.
2018-06-19 21:16:02 +02:00
Bartosz Taudul
26cc9d8547
Enable fast floating point model.
2018-06-06 01:53:25 +02:00
Bartosz Taudul
249cd4783c
Use C++17 in server.
2018-05-08 01:23:24 +02:00
Bartosz Taudul
e565f5cb74
Enable modern diagnostics format.
2018-05-08 01:17:53 +02:00
Bartosz Taudul
4c521ce92a
Loaded traces may be unloaded.
2018-04-30 01:16:08 +02:00
Bartosz Taudul
28380f2d25
Move bad version dialogs to a separate file.
2018-04-21 23:19:48 +02:00
Bartosz Taudul
ac73b00540
Prevent nasal demons from appearing.
2018-04-21 19:37:55 +02:00
Bartosz Taudul
3b6b67b7ee
Display a dialog when user tries to open invalid file.
2018-04-21 15:00:54 +02:00
Bartosz Taudul
764792d8db
Try to not crash when opening invalid files.
...
Tracy will now perform a number of checks when trying to read a dump
file:
1. The file must have at least 4 bytes of data.
2. There should be a 4 byte header to indicate the file was saved by
tracy. This is a breaking change in file format.
3. Old header-less files are still supported, but there's a new check
for data validity. The first 4 bytes of file (as an uint32) must be
less or equal to max LZ4 data packet size. This requires the first
two bytes to be 00 00 or 00 01, which should catch most invalid
files.
2018-04-21 14:53:40 +02:00
Bartosz Taudul
fefcbc6c35
Handle opening unsupported files.
2018-04-21 14:31:33 +02:00
Bartosz Taudul
645f312166
Enable imgui frame rounding.
2018-04-21 14:16:49 +02:00
Bartosz Taudul
07201a19ad
Update imgui to 1.60.
2018-04-14 15:12:16 +02:00
Bartosz Taudul
16a98c8c17
Move benaphore to common directory.
2018-04-01 18:59:55 +02:00
Bartosz Taudul
685432a85f
Add unaligned read/write helpers.
2018-03-31 14:15:04 +02:00
Bartosz Taudul
e69d71cd4d
Open trace passed as standalone server argument.
2018-03-24 22:20:06 +01:00
Bartosz Taudul
e64e7ce3f1
Add TracyWorker.hpp to msvc project.
2018-02-23 15:13:30 +01:00
Bartosz Szreder
9e3f18a62a
Split data handling code from the view.
2018-02-21 16:41:37 +01:00
Bartosz Taudul
142f94cc33
Small style adjustments.
2018-01-13 14:08:14 +01:00
Bartosz Taudul
e5317d9e40
Use dark style.
2018-01-13 13:59:16 +01:00
Bartosz Taudul
961a907e09
Remove obsolete window flag.
2018-01-13 13:56:02 +01:00
Bartosz Taudul
96cd782011
Enable AVX2 code generation.
2017-12-08 23:55:16 +01:00
Bartosz Taudul
0da09bc62b
Use pdqsort.
2017-12-08 23:14:55 +01:00
Bartosz Taudul
9b0b3c99e3
Disable permissive mode.
2017-12-05 20:51:16 +01:00
Bartosz Taudul
74cd22e655
Add tracy vector visualizer.
2017-11-20 15:57:40 +01:00
Bartosz Taudul
519d40be69
Add TracyForceInline.hpp to msvc project.
2017-11-19 17:27:00 +01:00
Bartosz Taudul
abd0676cea
Use flat_hash_map.
2017-11-15 23:15:59 +01:00
Bartosz Taudul
13d8d9255e
Use benaphore instead of mutex.
2017-11-15 21:49:41 +01:00
Bartosz Taudul
eb842cd029
Disable asserts in release mode.
2017-11-06 02:04:57 +01:00
Bartosz Taudul
34123de977
Reduce custom vector size 16 -> 13 bytes.
2017-10-28 23:12:11 +02:00
Bartosz Taudul
01666ded2f
Add TracyCharUtil.hpp to files list in msvc.
2017-10-28 21:35:26 +02:00
Bartosz Taudul
9e4bd2a645
Use arial font, if available.
2017-10-18 23:18:32 +02:00
Bartosz Taudul
0853a42f74
Target platform 10.0.16299.0.
2017-10-16 20:33:43 +02:00
Bartosz Taudul
361643ea8e
Enable parallel compilation.
2017-10-15 16:03:23 +02:00
Bartosz Taudul
75457c1465
Remove +x flag from files.
2017-10-10 21:56:15 +02:00
Bartosz Taudul
72abdcaf8d
Use gtk version of nfd on unix.
2017-10-01 02:37:52 +02:00
Bartosz Taudul
06949e2f99
Reading saved trace.
2017-09-30 16:58:02 +02:00
Bartosz Taudul
2021b7460a
Add file wrappers.
2017-09-30 16:19:50 +02:00
Bartosz Taudul
c92715a6c0
Open file dialog.
2017-09-30 14:32:30 +02:00
Bartosz Taudul
7284d00965
Add a macro specifying that file selector is available.
2017-09-30 14:32:09 +02:00
Bartosz Taudul
9c207cb044
Add file selector to standalone tracy server.
2017-09-30 14:31:52 +02:00
Bartosz Taudul
2761c719de
Update glfw to 3.2.1, vs2015.
2017-09-20 20:36:17 +02:00
Bartosz Taudul
8f29976237
Auto resize, add borders to connect... window.
2017-09-18 00:30:35 +02:00
Bartosz Taudul
0643fc436d
Bring standalone msvc solution up-to-date.
2017-09-18 00:30:16 +02:00
Bartosz Taudul
b36c894fe7
Unix build files.
2017-09-15 22:45:23 +02:00
Bartosz Taudul
a2fa319a42
Allow connecting to remote client.
2017-09-15 21:37:28 +02:00