Skip to content
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

Performance regression since 7.0.0 on godbolt #2153

Closed
BuzaL opened this issue Feb 25, 2021 · 8 comments
Closed

Performance regression since 7.0.0 on godbolt #2153

BuzaL opened this issue Feb 25, 2021 · 8 comments

Comments

@BuzaL
Copy link

BuzaL commented Feb 25, 2021

Comparing to 6.2.1 version, most of the format (expect FMT_COMPILE) getting about 4-5 times slower, regardless of C++ version and compiler:

https://godbolt.org/z/TGn1cx

@vitaut
Copy link
Contributor

vitaut commented Feb 25, 2021

I wasn't repro this locally and compiling with -DFMT_HEADER_ONLY on godbolt shows no regression either (https://godbolt.org/z/E3Yzrr). @mattgodbolt, is it possible that CE has a debug version of the {fmt} library installed?

@vitaut vitaut changed the title Performance regression since 7.0.0 Performance regression since 7.0.0 on godbolt Feb 25, 2021
@mattgodbolt
Copy link

Hi there! How might I check?

@vitaut
Copy link
Contributor

vitaut commented Feb 25, 2021

How might I check?

I thought you might have a library build log. {fmt} cmake script prints the build type, e.g.:

-- Build type: Debug

@mattgodbolt
Copy link

It's all good, this is working as intended: we only build debug in Compiler Explorer as it stands. CC @partouf .

CE is not really designed for performance testing, so it's not bee a problem. And one can't easily see the results of linking against a static library either. We can look in to it if it's a problem

@vitaut
Copy link
Contributor

vitaut commented Feb 25, 2021

Good to know, thanks for investigating! This is not a problem, just a bit surprising. Is there any particular reason debug build is the default?

@mattgodbolt
Copy link

Debug is the default as it gives the best library attribution (according to @partouf "mostly to not mix, but it also helps when inlining the libraries with being able to identify the library code")

@BuzaL
Copy link
Author

BuzaL commented Feb 26, 2021

@vitaut @mattgodbolt Thanks a lot to check it (unf. last night I've had only a browser to do...)

@mattgodbolt
Copy link

Thanks @BuzaL . This is a kick for us to consider options in Compiler Explorer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants