fix #14179, fix #14142, make CI 1.4x faster (2x faster locally) #14658
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
make CI significantly faster (1.4x faster on CI machines, 2x locally)
by avoiding
import os
(and all the modules that it imports recursively) for every single invocation ofnim
; like wise for short-lived commands (egnim dump
ornim c smallfile
orinim
)fix
nim dump
is roughly 100x slower in 1.3 versus 1.2 #14179fix import os + use of existsDir/dirExists/existsFile/fileExists/findExe in config.nims causes "ambiguous call' error #14142
supersedes [superseded] fix #14142: no more clash with: import os + use of existsDir/dirExists/existsFile/fileExists/findExe in config.nims #14143
still keeps import os + use of paramCount and paramStr in config.nims causes "ambiguous call' error #12835 as fixed
see #14179 (comment) for the full context
CI timings on CI machines
before PR => after PR
Linux_amd64 31m => 21m
Linux_i386 32m => 18m
OSX_amd64 17m => 13m
OSX_amd64_cpp 18m => 13m
Windows_amd64 38m => 33m
CI timings locally on OSX
via
XDG_CONFIG_HOME= nim c -r testament/testament all
494s => 253s
(didn't try
./koch runCI
locally in this experiment)