There are currently four build configurations in FireBreath that can be chosen from when building your project. Choose the one appropriate for your needs. Visual Studio and Xcode let you select the mode directly; if you use Makefiles you need to pass the build type to the Prep Script.
This configuration is good for development, because it will turn off optimizations, hence keeping the structure of your code intact, and it allows you to debug your program.
Release mode will turn on a large number of optimizations and not include debug information in your code. The generated code will be faster and smaller than Debug.
If you need to save as much space as possible, MinSizeRel is what you need. Compared to Release it may turn off some optimizations in order to save space and it will select shorter instructions, if their performance is equivalent.
This mode activates (almost) as many optimizations as Release and includes debug information. If you deploy in this mode and can get hold of crash dumps, you can analyze the stack trace and see where the crashes occur.
In addition to these, there is a Prep Script parameter FB_OPTIMIZE that can be passed in as "size" or "speed" to force optimization on both Release and RelWithDebInfo configurations for one or the other. Currently this only works on Windows.