Skip to content

travis: Test in release mode#241

Closed
petertseng wants to merge 1 commit intoexercism:masterfrom
petertseng:travis-release
Closed

travis: Test in release mode#241
petertseng wants to merge 1 commit intoexercism:masterfrom
petertseng:travis-release

Conversation

@petertseng
Copy link
Copy Markdown
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
Copy Markdown
Member Author

@IanWhitney
Copy link
Copy Markdown
Contributor

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

@ijanos
Copy link
Copy Markdown
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
Copy Markdown
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