Compare commits

...

2 Commits

Author SHA1 Message Date
Victor Zverovich
790b9389ae
Update README for clarity on performance comparison 2025-11-23 11:15:23 -08:00
Victor Zverovich
a731c73fd5 Make FMT_USE_FULL_CACHE_DRAGONBOX depend on __OPTIMIZE_SIZE__ by default
Thanks to Matthias Kretz for the idea.
2025-11-23 09:03:02 -08:00
3 changed files with 10 additions and 6 deletions

View File

@ -150,8 +150,8 @@ int main() {
} }
``` ```
This can be [5 to 9 times faster than This can be [up to 9 times faster than `fprintf`](
fprintf](http://www.zverovich.net/2020/08/04/optimal-file-buffer-size.html). http://www.zverovich.net/2020/08/04/optimal-file-buffer-size.html).
**Print with colors and text styles** **Print with colors and text styles**

View File

@ -30,6 +30,14 @@
# define FMT_FUNC # define FMT_FUNC
#endif #endif
#if defined(FMT_USE_FULL_CACHE_DRAGONBOX)
// Use the provided definition.
#elif defined(__OPTIMIZE_SIZE__)
# define FMT_USE_FULL_CACHE_DRAGONBOX 0
#else
# define FMT_USE_FULL_CACHE_DRAGONBOX 1
#endif
FMT_BEGIN_NAMESPACE FMT_BEGIN_NAMESPACE
#ifndef FMT_CUSTOM_ASSERT_FAIL #ifndef FMT_CUSTOM_ASSERT_FAIL

View File

@ -736,10 +736,6 @@ using fast_float_t = conditional_t<sizeof(T) == sizeof(double), double, float>;
template <typename T> template <typename T>
using is_double_double = bool_constant<std::numeric_limits<T>::digits == 106>; using is_double_double = bool_constant<std::numeric_limits<T>::digits == 106>;
#ifndef FMT_USE_FULL_CACHE_DRAGONBOX
# define FMT_USE_FULL_CACHE_DRAGONBOX 0
#endif
// An allocator that uses malloc/free to allow removing dependency on the C++ // An allocator that uses malloc/free to allow removing dependency on the C++
// standard libary runtime. std::decay is used for back_inserter to be found by // standard libary runtime. std::decay is used for back_inserter to be found by
// ADL when applied to memory_buffer. // ADL when applied to memory_buffer.