This article needs a technical review. How you can help.
This article needs an editorial review. How you can help.
Debug Builds
Debug builds (--enable-debug) and non-optimized builds (--disable-optimize) are '''much''' slower. Any performance metrics gathered by such builds are largely unrelated to the what the performance a release browser would be.
Poisoning
Many Firefox builds have a diagnostic tool that causes crashes to happen sooner and produce much more actionable information, but also slow down regular usage substantially. In particular, "GC poisoning" is used in all debug builds, and in optimized nightly builds (but not opt developer edition or beta builds). The poisoning can be disabled by setting the environment variable
JSGC_DISABLE_POISONING=1
before starting the browser.
Async Stacks
Another option that is on by default in non-release builds is the preference javascript.options.asyncstack, which provides better debugging information to developers. Set it to false to match a release build. (This may be disabled for many situations in the future. See bug 1280819.
Accelerated Graphics
Especially on Linux, accelerated graphics can sometimes lead to severe performance problems even if things look ok visually. You may wish to disable accelerate graphics (Preferences -> Advanced -> General -> Use hardware acceleration when available).
Source map support in the Web Console
Starting in Firefox 50, the Web Console in Firefox can understand source maps. This feature is currently enabled by default, in part because it may make console output slower. For this reason it's advisable to make sure that source map support in the console is disabled if you are profiling. Bug 1289570 tracks any work that needs to be done before source map support can be enabled by default.