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

[WIP] [CI] Use Ninja to speed up builds #5832

Closed
wants to merge 11 commits into from
Closed

Conversation

hcho3
Copy link
Collaborator

@hcho3 hcho3 commented Jun 27, 2020

According to this talk from the last year, Ninja is significantly faster than MSBuild.

Let the CI run with Ninja and see how much time saving is realized.

@hcho3 hcho3 changed the title [CI] Use Ninja to speed up builds [WIP] [CI] Use Ninja to speed up builds Jun 27, 2020
@hcho3 hcho3 marked this pull request as draft June 27, 2020 22:24
@hcho3
Copy link
Collaborator Author

hcho3 commented Jun 28, 2020

AppVeyor

Job name Before After
MSVC 2015 Debug 4 min 15 sec 2 min 37 sec
MSVC 2015 Release 9 min 31 sec 6 min 42 sec
MinGW 8 min 37 sec 7 min 24 sec
MSVC 2015 Release for R 9 min 26 sec 6 min 12 sec

Travis CI

Job name Before After
Linux, python_sdist_test 4 min 32 sec 4 min 25 sec
MacOS, python_test 18 min 42 sec 22 min 11 sec
MacOS, python_sdist_test 11 min 40 sec 10 min 42 sec
MacOS, cmake_test 14 min 22 sec 12 min 44 sec

Jenkins

Job name Before After
Win64 build (MSVC 2017) 12 min 59 sec 9 min 30 sec
Linux CPU build 4 min 58 sec 4 min 35 sec
Linux CPU build (sanitizer) 4 min 58 sec 4 min 4 sec
Linux CPU build (no OpenMP) 3 min 51 sec 3 min 43 sec
Linux CPU build (mock Rabit) 2 min 24 sec 2 min 17 sec
Linux GPU build (CUDA 10.0) 13 min 43 sec 13 min 14 sec
Linux GPU build (CUDA 10.1) 13 min 11 sec 13 min 28 sec
Linux JVM build 11 min 41 sec 13 min 52 sec
Linux Doxygen 3 min 15 sec 2 min 38 sec

The conclusion is that Ninja is significant faster than MSBuild (MSVC) but not than GNU Make.

@hcho3
Copy link
Collaborator Author

hcho3 commented Jun 28, 2020

Please don't merge this yet. I'll look at it when I get back from vacation.

@hcho3 hcho3 mentioned this pull request Jul 22, 2020
@hcho3 hcho3 mentioned this pull request Oct 28, 2020
@hcho3 hcho3 closed this Mar 22, 2022
@hcho3
Copy link
Collaborator Author

hcho3 commented Mar 22, 2022

Closing as it's quite out-of-sync with the master branch. We should re-visit and come up with a way to speed up builds.

@hcho3 hcho3 deleted the use_ninja_build branch March 22, 2022 23:40
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.

1 participant