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

Re-evaluate optional features when optimizing compile time #4231

Open
dwblaikie opened this issue Aug 21, 2024 · 3 comments
Open

Re-evaluate optional features when optimizing compile time #4231

dwblaikie opened this issue Aug 21, 2024 · 3 comments

Comments

@dwblaikie
Copy link
Contributor

dwblaikie commented Aug 21, 2024

There are a few features that we've enabled by default that are nice to have - but at some point, especially when promoting carbon to users more heavily, we may want to ensure these features aren't costing too much, especially in compile time, and harming users first impressions.

So far the list is:

  • parse tree validation (an internal consistency check)
  • debug info (enabled by default, unlike other compilers (gcc, clang, etc) that disable this by default, presumably because it's too expensive to enable by default - carbon plans to have relatively light debug info compared to C++ so maybe it can get away with paying this cost by default)
@jonmeow
Copy link
Contributor

jonmeow commented Aug 21, 2024

  • parse tree validation (an internal consistency check)

Just to be sure, there's some minimal validation, but #4174 turned off the really expensive parts (in opt mode, anyways).

@zygoloid
Copy link
Contributor

zygoloid commented Sep 6, 2024

  • CARBON_CHECK -- while we want some of those to remain, it'd be worth doing a performance comparison with all of the checks disabled to get a measure of how much we're paying. If it's a lot, we should carefully pick specific instances that we might want to turn into CARBON_DCHECK.
  • CARBON_VLOG -- similarly, disabling all of these would give us an idea of whether we're leaving performance on the table here, and maybe we can reduce that cost.

@muhd360

This comment was marked as off-topic.

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

No branches or pull requests

4 participants