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

Move specs for arithmetic primitives to primitives_spec #11298

Merged
merged 18 commits into from
Dec 2, 2021

Conversation

HertzDevil
Copy link
Contributor

@HertzDevil HertzDevil commented Oct 8, 2021

Alternative to #11233. This moves all primitives specs to a new test suite. The actual tests are the same as that PR except that spec/std/overflow_spec.cr is also combined here.

The primitives_spec target has a Makefile dependency on the local Crystal compiler, so any primitive method introductions or fixes in a PR should be immediately available whenever make primitives_spec is run, including on CI. (Those introductions or fixes are not guaranteed to be there if the specs are run directly via bin/crystal spec spec/primitives_spec.cr.)

bin/ci Outdated Show resolved Hide resolved
@HertzDevil
Copy link
Contributor Author

HertzDevil commented Oct 8, 2021

By the way, I tried to gather the run times of all the test_linux* jobs in the past 2 weeks. The results are:

  • test_linux: N = 86, mean = 46m26s, standard deviation = 291s
  • test_linux (1.0.0): N = 40, mean = 46m05s, standard deviation = 332s
  • test_linux (1.1.1): N = 40, mean = 45m19s, standard deviation = 327s

The raw data is here. Right here the same jobs are already giving run times down to around 35 minutes so I'd say that's a rather significant improvement. Similar time savings can be observed for other jobs (e.g. test_alpine, test_macos, gnu-test-compiler).

@straight-shoota
Copy link
Member

Wow, that's really a lot. I had expected to shave of quite a bunch, but 10 minutes is really a significant step.

.github/workflows/aarch64.yml Outdated Show resolved Hide resolved
@oprypin oprypin self-requested a review October 29, 2021 23:52
Makefile Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
.github/workflows/aarch64.yml Outdated Show resolved Hide resolved
spec/compiler/codegen/arithmetics_spec.cr Show resolved Hide resolved
@straight-shoota straight-shoota added this to the 1.3.0 milestone Dec 1, 2021
@straight-shoota straight-shoota merged commit cbad1e4 into crystal-lang:master Dec 2, 2021
@HertzDevil HertzDevil deleted the spec/primitives-spec branch December 3, 2021 00:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants