I canโt imagine that they affect the speed of execution in any noticeable way, although theoretically you could have a small number of misses in the image of the process.
You want to save the characters in the file when you debug it so that you can see what function you are in, check the values โโof the variables, etc.
But the characters make the file bigger: potentially, much bigger. Thus, you do not want binary characters to be placed on a small embedded device. (I'm talking about a real built-in device, not the 21st century Raspberry Pi with 9,000 GB of disk space!)
I generally collect all release builds and do not collect any debug builds. This makes client dump databases a little less useful, but you can always keep a copy of an unbuilt release build and debug your kernel against this.
I heard about one company that had a policy of never removing characters, even in release builds, so that they could load the kernel directly into the debugger. This seems like a bit of an abstraction leak to me, but whatever. Their call.
Of course, if you really want this, you can analyze the assembly yourself without them. But this is crazy ...
Lightness races in orbit
source share