Skip to content

travis: Test in release mode #241

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

Closed
wants to merge 1 commit into from
Closed

travis: Test in release mode #241

wants to merge 1 commit into from

Conversation

petertseng
Copy link
Member

Alphametics is unbearably slow in debug mode.


Reviewers should verify that there is a runtime improvement before merging. I was personally worried about whether --release would increase compile times for all exercises while only benefitting alphametics.

Alphametics is unbearably slow in debug mode.
@petertseng
Copy link
Member Author

@IanWhitney
Copy link
Contributor

I can't think of a reason to not use release mode.

@ijanos
Copy link
Contributor

ijanos commented Jan 6, 2017

I intentionally created an idiomatic but naive (hence slow) example for that exercise. If it is causing problems I'm fine with replacing it with something faster.

A reason to not use release mode: it will skip overflow checks. Try compiling this in release and debug mode to see the difference.

@petertseng
Copy link
Member Author

Usually I don't notice the slowness. Yesterday at #239 I created sufficiently many Travis builds that they got backed up waiting for each other. Even created two for every commit (that's weird, maybe because I was closing and reopening. But I canceled the ones I didn't want).

Well, if a faster implementation can get decent times and still in debug mode so that we keep overflow checks, I'm all for it. I will make a column by column one at some point in the future, but don't be afraid to beat me to it.

Another option then can be to only run in --release for selected exercises, and the only such selected exercise being alphametics currently. Don't have any great ideas on how to make the "selected" bit, maybe a .meta/test-in-release-mode (.meta so it doesn't get served to students).

I'll currently close since the problem is only felt if we queue up multiple builds in rapid succession, and there are other ways we want to look at.

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

Successfully merging this pull request may close these issues.

3 participants