Logging and Debugging
Sometimes logging code or debugging code can slow down a program significantly. Either the logging/debugging code itself is slow, or data collection code that feeds into logging/debugging code is slow. Make sure that no unnecessary work is done for logging/debugging purposes when logging/debugging is not enabled. Example 1, Example 2.
Note that assert!
calls always run, but debug_assert!
calls only run in
dev builds. If you have an assertion that is hot but is not necessary for
safety, consider making it a debug_assert!
.
Example 1,
Example 2.