[libcxx-commits] [libcxx] [libc++][hardening] Finish documenting hardening. (PR #92021)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Tue Jun 4 11:50:03 PDT 2024


================
@@ -29,8 +29,11 @@ modes are:
   rigour impacts performance more than fast mode: we recommend benchmarking to
   determine if that is acceptable for your program.
 - **Debug mode**, which enables all the available checks in the library,
-  including internal assertions, some of which might be very expensive. This
-  mode is intended to be used for testing, not in production.
+  including heuristic checks that might have significant performance overhead as
+  well as internal library assertions. This mode should be used in
+  non-production environments (such as test suites, CI, or local development).
+  We don’t commit to a particular level of performance in this mode and it’s
+  *not* intended to be used in production.
----------------
ldionne wrote:

Should we add:
> However, we do not change the _complexity_ of algorithms since satisfying the complexity of an algorithm is necessary for Standards conformance.

Or, if we don't want to commit to that, then we should mention the contrary. Either way, it seems like a nice place to document this design point.

https://github.com/llvm/llvm-project/pull/92021


More information about the libcxx-commits mailing list