> On May 2, 2016, at 16:29, Nicholas Nethercote <[email protected]> wrote:
> 
> I doubt anyone is doing large amounts of browsing in debug builds.
> They are very slow :(

The LLVM project suffers from the same problem that unoptimized modern C++ is 
very slow. They have multiple build configurations:

Debug (-O0 -g)
Release (-O3 -DNDEBUG)
Release+Asserts (-O3)
Release+Asserts+Symbols (-O3 -g)

The Release+Asserts configuration is optimized with assertions enabled, and 
it’s only around 20% slower than the Release build with assertions disabled. 
When I worked on this project, I used Release+Asserts most of the time, only 
falling back to Debug builds when I had to use a debugger to track down 
segfaults etc.

It is not assertions that make unoptimized C++ really slow, it is the lack of 
inlining which is critical to clean up template abstraction goop.

/jakob

_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Reply via email to