[libcxx-commits] [libcxx] Reapply "[libc++] Optimize num_put integral functions" (#131613) (PR #133572)
Nico Weber via libcxx-commits
libcxx-commits at lists.llvm.org
Sun Apr 13 14:56:49 PDT 2025
================
@@ -61,13 +61,21 @@ Improvements and New Features
- Updated formatting library to Unicode 16.0.0.
+- The ``num_put::do_put`` integral overloads have been optimized, resulting in a performance improvement of up to 2.4x.
+
Deprecations and Removals
-------------------------
- ``std::is_pod`` and ``std::is_pod_v`` are deprecated in C++20 and later.
- ``std::is_trivial`` and ``std::is_trivial_v`` are deprecated in C++26 and later.
+Potentially breaking changes
+----------------------------
+
+- The implementation of ``num_put::do_put`` has been replaced to improve the performance, which can lead to different
+ output when printing pointers.
----------------
nico wrote:
It always leads to different output on Windows, right? libc++ never printed a `0x` prefix on pointers on Windows before, and now it always does (making it consistent with libc++ on other platforms, and inconsistent with Microsoft's STL as far as I know). Maybe the release notes could be more precise about this :)
https://github.com/llvm/llvm-project/pull/133572
More information about the libcxx-commits
mailing list