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

Limit Regex compilations, improve geordi errors, production release profile #206

Merged
merged 4 commits into from
Mar 22, 2023

Conversation

Headline
Copy link
Owner

@Headline Headline commented Mar 22, 2023

Let's take one at a time

  • Limiting regular expression compilations
    • We already had some "static" regular expressions so we don't waste time recompiling expressions, but for some reason our hottest code path was not utilizing this. After this patch, every regular expression is now compiled only once.
  • Geordi errors
    • I've seen many times where our ;cpp command gets confused for ;compile. This confusion makes sense, our system is not the most intuitive here. This patch creates a friendly warning that ;cpp is meant for geordi-like input and they may want to use ;compile instead.
    • There's more to this error, I'm curious if our best strategy moving forward will be to import all programming languages as valid commands, so languages like java can be executed without ;compile java but instead just ;java. This would change a ton of our underlying command handling, so I'm biting my tongue on moving forward with this until other changes are made. Let me know if you support this idea.
  • Production release profile
    • As you may know I'm currently fighting Likely deadlock blocking event processing #201. Ensure locks are closed as soon as possible #202 seems to have mitigated this problem, we have not observed a deadlock since this patch was brought in. I'm still suspecting we've yet to completely quell this issue, so in the mean time we'll be compiling production with optimizations and debug info. Since investigating the suspected deadlock we have been running a pure debug build, now we'll just turn optimizations on and continue observing.

@Headline Headline added the build Edit to the build system, dependencies, or test suite label Mar 22, 2023
@Headline Headline merged commit 71c2eed into master Mar 22, 2023
@Headline Headline deleted the regex-and-error branch March 22, 2023 05:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Edit to the build system, dependencies, or test suite
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant