-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Potential performance regression of vformat_to in libfmt 11 compared to libfmt 10.2.1 #4070
Comments
Basically we need to reintroduce the detection of |
Done in 33e7ed1. Before:
After:
(best of three runs in each case) This fixes most of the regression, will look into the remaining discrepancy. |
mtremer
pushed a commit
to ipfire/ipfire-2.x
that referenced
this issue
Aug 15, 2024
- Update from version 11.0.1 to 11.0.2 - Update of rootfile - Changelog 11.0.2 - Fixed compatibility with non-POSIX systems (fmtlib/fmt#4054, fmtlib/fmt#4060). - Fixed performance regressions when using `std::back_insert_iterator` with `fmt::format_to` (fmtlib/fmt#4070). - Fixed handling of `std::generator` and move-only iterators (fmtlib/fmt#4053, fmtlib/fmt#4057). Thanks @Arghnews. - Made `formatter<std::string_view>::parse` work with types convertible to `std::string_view` (fmtlib/fmt#4036, fmtlib/fmt#4055). Thanks @Arghnews. - Made `volatile void*` formattable (fmtlib/fmt#4049, fmtlib/fmt#4056). Thanks @Arghnews. - Made `Glib::ustring` not be confused with `std::string` (fmtlib/fmt#4052). - Made `fmt::context` iterator compatible with STL algorithms that rely on iterator category (fmtlib/fmt#4079). Signed-off-by: Adolf Belka <[email protected]> Signed-off-by: Michael Tremer <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hello,
I am experiencing a drop in throughput when migrating my logging library to libfmt 11 compared to libfmt 10.2.1.
I haven't been able to figure out yet if this is something related to my project or the newer version of libfmt, but the only change is the libfmt library.
Environment
Compiler: GCC 13
OS: Linux RHEL
Build Configuration: Release build with -O3 -DNDEBUG -std=gnu++20
libfmt: Header-only version
I ran the above several times for both versions and it seems that version 10.2.1 is always faster. I am running it on an isolated cpu and nothing else is running on the whole box
Are there any known changes in libfmt 11 that could explain this difference?
The text was updated successfully, but these errors were encountered: