@@ -59,7 +59,7 @@ there are some requirements for getting the best performance...
59
59
First things first: You * need* to be able to define and use flat data containers/aggregates/compounds,
60
60
commonly called structs, and the ability to tightly pack them in memory (e.g.: as arrays).
61
61
62
- Without them, you'll have to manually read/write data from raw buffers of bytes,
62
+ Without them, you'll have to manually read/write data from raw buffers of bytes/ints ,
63
63
which is both a colossal pain in the behind and a * massive* source of bugs.
64
64
65
65
{% info_notice(summary="** Memcopy is (not) your friend.** ") %}
@@ -112,9 +112,27 @@ We (humans) are inherently incapable of mentally dealing with multiple concurren
112
112
we quite literally cannot comprehend this stuff without heaps of training and tools to assist us.
113
113
Anybody that says otherwise is either a liar or a robot.
114
114
115
- So, take all the help you can, use existing threading and synchronization primitives,
115
+ So, take all the help you can (debuggers and tracers!),
116
+ use existing threading and synchronization primitives,
116
117
and remember that queues are your most reasonable friend.
117
118
119
+ ## Profile. Profile. Profile.
120
+
121
+ Using profilers is a *** must*** to get accurate pictures of your performance woes.
122
+
123
+ While trusting your (hopefully sharply honed :wink : ) programming wisdom is a good-ish thing,
124
+ it can only get you so far before * actively hindering you* ...
125
+ so acquiring more knowledge via profiling is your best bet.
126
+
127
+ Thankfully, most common <abbr title =" Integrated Development Environments " >IDEs</abbr >
128
+ (such as Microsoft's Visual Studio, various JetBrains products, the Eclipse family, etc.)
129
+ have profilers, or integrations with them, built right into them, making profiling your software relatively straight forward...
130
+
131
+ Of course, learning how to use and interpret the data a profiler outputs is a whole 'nother topic,
132
+ on which entire books have been written, so we won't get into that here.
133
+
134
+ Again, remember: ** Profile. Profile. Profile.**
135
+
118
136
## Your Choice
119
137
120
138
In the end, it is your choice to pick a language that best fits your future goals,
0 commit comments