configlet icon indicating copy to clipboard operation
configlet copied to clipboard

build: building release binary on Windows took a relatively long time

Open ee7 opened this issue 3 years ago • 0 comments

For 4.0.0-beta.2, the build step took 3m35s on Windows, but 26s on Linux. Both are after already installing dependencies, and compiling configlet with no compilation cache.

But for 4.0.0-beta.1 it took 55s on Windows. So I think that the apparent slowness can only be caused by:

  1. https://github.com/exercism/configlet/commit/50e9d6cece681adfc798fdd4bc1330d200ce4c47 The bump from windows-2019 to windows-2022
  2. https://github.com/exercism/configlet/commit/8d6fe69eced9e6bd07ddc1a5c9e601f47325d803 The bump from Nim 1.6.4 to Nim 1.6.6
  3. Something unrelated, like a slow runner

From the log, it seems to take 3 minutes in the linking stage:

2022-05-06T14:08:59.0000229Z ##[group]Run ./.github/bin/build
2022-05-06T14:08:59.0000566Z .github/bin/build
2022-05-06T14:08:59.0015461Z shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
2022-05-06T14:08:59.0015785Z ##[endgroup]
2022-05-06T14:08:59.9613032Z   Verifying dependencies for [email protected]
2022-05-06T14:08:59.9613832Z     Prompt: No local packages.json found, download it from internet? -> [forced yes]
2022-05-06T14:08:59.9614232Z Downloading Official package list
2022-05-06T14:08:59.9614521Z     Success Package list downloaded.
2022-05-06T14:08:59.9625706Z  Installing cligen@#b962cf8bc0be847cbc1b4f77952775de765e9689
2022-05-06T14:08:59.9628529Z Downloading https://github.com/c-blake/cligen.git using git
2022-05-06T14:09:02.2748662Z   Verifying dependencies for cligen@#b962cf8bc0be847cbc1b4f77952775de765e9689
2022-05-06T14:09:02.2839205Z  Installing cligen@#b962cf8bc0be847cbc1b4f77952775de765e9689
2022-05-06T14:09:02.3608536Z    Success: cligen installed successfully.
2022-05-06T14:09:03.0421089Z  Installing jsony@#2a2cc4331720b7695c8b66529dbfea6952727e7b
2022-05-06T14:09:03.0430195Z Downloading https://github.com/treeform/jsony using git
2022-05-06T14:09:05.0031561Z   Verifying dependencies for jsony@#2a2cc4331720b7695c8b66529dbfea6952727e7b
2022-05-06T14:09:05.0104601Z  Installing jsony@#2a2cc4331720b7695c8b66529dbfea6952727e7b
2022-05-06T14:09:05.0135943Z    Success: jsony installed successfully.
2022-05-06T14:09:05.7002180Z  Installing parsetoml@#9cdeb3f65fd10302da157db8a8bac5c42f055249
2022-05-06T14:09:05.7005872Z Downloading https://github.com/NimParsers/parsetoml.git using git
2022-05-06T14:09:07.6968537Z   Verifying dependencies for parsetoml@#9cdeb3f65fd10302da157db8a8bac5c42f055249
2022-05-06T14:09:07.7064012Z  Installing parsetoml@#9cdeb3f65fd10302da157db8a8bac5c42f055249
2022-05-06T14:09:07.7094483Z    Success: parsetoml installed successfully.
2022-05-06T14:09:08.3938554Z  Installing uuids@#8cb8720b567c6bcb261bd1c0f7491bdb5209ad06
2022-05-06T14:09:08.3942835Z Downloading https://github.com/pragmagic/uuids using git
2022-05-06T14:09:09.6954051Z   Verifying dependencies for uuids@#8cb8720b567c6bcb261bd1c0f7491bdb5209ad06
2022-05-06T14:09:09.6955610Z  Installing isaac@>= 0.1.3
2022-05-06T14:09:09.6961011Z Downloading https://github.com/pragmagic/isaac using git
2022-05-06T14:09:10.6966710Z   Verifying dependencies for [email protected]
2022-05-06T14:09:10.6967244Z  Installing [email protected]
2022-05-06T14:09:10.6987667Z    Success: isaac installed successfully.
2022-05-06T14:09:10.6991554Z  Installing uuids@#8cb8720b567c6bcb261bd1c0f7491bdb5209ad06
2022-05-06T14:09:10.7151578Z    Success: uuids installed successfully.
2022-05-06T14:09:10.7159257Z  Installing isaac@#45a5cbbd54ff59ba3ed94242620c818b9aad1b5b
2022-05-06T14:09:10.7164206Z Downloading https://github.com/pragmagic/isaac using git
2022-05-06T14:09:12.0314509Z   Verifying dependencies for isaac@#45a5cbbd54ff59ba3ed94242620c818b9aad1b5b
2022-05-06T14:09:12.0315245Z  Installing isaac@#45a5cbbd54ff59ba3ed94242620c818b9aad1b5b
2022-05-06T14:09:12.0336658Z    Success: isaac installed successfully.
2022-05-06T14:09:12.1132667Z   Verifying dependencies for [email protected]
2022-05-06T14:09:12.1229382Z     Reading official package list
2022-05-06T14:09:12.1371439Z    Checking for cligen@#b962cf8bc0be847cbc1b4f77952775de765e9689
2022-05-06T14:09:12.1372052Z       Info: Dependency on cligen@#b962cf8bc0be847cbc1b4f77952775de765e9689 already satisfied
2022-05-06T14:09:12.1376794Z   Verifying dependencies for cligen@#b962cf8bc0be847cbc1b4f77952775de765e9689
2022-05-06T14:09:12.1469222Z     Reading official package list
2022-05-06T14:09:12.1471885Z    Checking for jsony@#2a2cc4331720b7695c8b66529dbfea6952727e7b
2022-05-06T14:09:12.1472401Z       Info: Dependency on jsony@#2a2cc4331720b7695c8b66529dbfea6952727e7b already satisfied
2022-05-06T14:09:12.1477042Z   Verifying dependencies for jsony@#2a2cc4331720b7695c8b66529dbfea6952727e7b
2022-05-06T14:09:12.1566354Z     Reading official package list
2022-05-06T14:09:12.1566918Z    Checking for parsetoml@#9cdeb3f65fd10302da157db8a8bac5c42f055249
2022-05-06T14:09:12.1567532Z       Info: Dependency on parsetoml@#9cdeb3f65fd10302da157db8a8bac5c42f055249 already satisfied
2022-05-06T14:09:12.1570298Z   Verifying dependencies for parsetoml@#9cdeb3f65fd10302da157db8a8bac5c42f055249
2022-05-06T14:09:12.1655172Z     Reading official package list
2022-05-06T14:09:12.1656622Z    Checking for uuids@#8cb8720b567c6bcb261bd1c0f7491bdb5209ad06
2022-05-06T14:09:12.1657139Z       Info: Dependency on uuids@#8cb8720b567c6bcb261bd1c0f7491bdb5209ad06 already satisfied
2022-05-06T14:09:12.1658870Z   Verifying dependencies for uuids@#8cb8720b567c6bcb261bd1c0f7491bdb5209ad06
2022-05-06T14:09:12.1659297Z     Reading official package list
2022-05-06T14:09:12.1660243Z    Checking for isaac@>= 0.1.3
2022-05-06T14:09:12.1660620Z       Info: Dependency on isaac@>= 0.1.3 already satisfied
2022-05-06T14:09:12.1661687Z   Verifying dependencies for [email protected]
2022-05-06T14:09:12.1662552Z     Reading official package list
2022-05-06T14:09:12.1664031Z    Checking for isaac@#45a5cbbd54ff59ba3ed94242620c818b9aad1b5b
2022-05-06T14:09:12.1664621Z       Info: Dependency on isaac@#45a5cbbd54ff59ba3ed94242620c818b9aad1b5b already satisfied
2022-05-06T14:09:12.1665360Z   Verifying dependencies for isaac@#45a5cbbd54ff59ba3ed94242620c818b9aad1b5b
2022-05-06T14:09:12.1670747Z  Attempting to execute hook buildBefore in D:\a\configlet\configlet\configlet.nimble
2022-05-06T14:09:12.8495647Z Trying to patch parseopt3...
2022-05-06T14:09:12.8496780Z Found C:\Users\runneradmin\.nimble\pkgs\cligen-#b962cf8bc0be847cbc1b4f77952775de765e9689\cligen\parseopt3.nim
2022-05-06T14:09:12.8653562Z Checking patch parseopt3.nim...
2022-05-06T14:09:12.8654108Z Applied patch parseopt3.nim cleanly.
2022-05-06T14:09:12.8654395Z 
2022-05-06T14:09:12.8716389Z    Building configlet/configlet.exe using c backend
2022-05-06T14:09:12.8718753Z   Executing D:\a\configlet\configlet\nimdir\bin\nim.exe c --colors:on --noNimblePath -d:release -d:NimblePkgVersion=4.0.0 --path:C:\Users\runneradmin\.nimble\pkgs\cligen-#b962cf8bc0be847cbc1b4f77952775de765e9689 --path:C:\Users\runneradmin\.nimble\pkgs\jsony-#2a2cc4331720b7695c8b66529dbfea6952727e7b --path:C:\Users\runneradmin\.nimble\pkgs\parsetoml-#9cdeb3f65fd10302da157db8a8bac5c42f055249 --path:C:\Users\runneradmin\.nimble\pkgs\uuids-#8cb8720b567c6bcb261bd1c0f7491bdb5209ad06 --path:C:\Users\runneradmin\.nimble\pkgs\isaac-0.1.3 --path:C:\Users\runneradmin\.nimble\pkgs\isaac-#45a5cbbd54ff59ba3ed94242620c818b9aad1b5b -o:D:\a\configlet\configlet\configlet.exe D:\a\configlet\configlet\src\configlet.nim
2022-05-06T14:09:13.1091818Z Hint: used config file 'D:\a\configlet\configlet\nimdir\config\nim.cfg' [Conf]
2022-05-06T14:09:13.1092775Z Hint: used config file 'D:\a\configlet\configlet\nimdir\config\config.nims' [Conf]
2022-05-06T14:09:13.1093678Z Hint: used config file 'D:\a\configlet\configlet\config.nims' [Conf]
2022-05-06T14:09:15.6122183Z .............................................................................................................
2022-05-06T14:09:15.6123697Z D:\a\configlet\configlet\src\patched_stdlib\parsejson.nim(237, 37) Warning: implicit conversion to 'cstring' from a non-const location: my.buf; this will become a compile time error in the future [CStringConv]
2022-05-06T14:09:15.6124958Z D:\a\configlet\configlet\src\patched_stdlib\parsejson.nim(247, 39) Warning: implicit conversion to 'cstring' from a non-const location: my.buf; this will become a compile time error in the future [CStringConv]
2022-05-06T14:09:16.5263765Z .......................................
2022-05-06T14:09:16.5265110Z D:\a\configlet\configlet\nimdir\lib\posix\posix.nim(1111, 13) Hint: 'sig' is declared but not used [XDeclaredButNotUsed]
2022-05-06T14:09:38.9884573Z CC: stdlib_digitsutils.nim
2022-05-06T14:09:38.9887725Z CC: stdlib_assertions.nim
2022-05-06T14:09:38.9888450Z CC: stdlib_formatfloat.nim
2022-05-06T14:09:38.9888912Z CC: stdlib_dollars.nim
2022-05-06T14:09:38.9889869Z CC: stdlib_widestrs.nim
2022-05-06T14:09:38.9890425Z CC: stdlib_io.nim
2022-05-06T14:09:38.9891020Z CC: stdlib_system.nim
2022-05-06T14:09:38.9892801Z CC: stdlib_posix.nim
2022-05-06T14:09:38.9893125Z CC: stdlib_parseutils.nim
2022-05-06T14:09:38.9893473Z CC: stdlib_math.nim
2022-05-06T14:09:38.9893848Z CC: stdlib_algorithm.nim
2022-05-06T14:09:38.9894141Z CC: stdlib_unicode.nim
2022-05-06T14:09:38.9894476Z CC: stdlib_strutils.nim
2022-05-06T14:09:38.9894812Z CC: stdlib_pathnorm.nim
2022-05-06T14:09:38.9895151Z CC: stdlib_dynlib.nim
2022-05-06T14:09:38.9895438Z CC: stdlib_winlean.nim
2022-05-06T14:09:38.9895763Z CC: stdlib_options.nim
2022-05-06T14:09:38.9896296Z CC: stdlib_times.nim
2022-05-06T14:09:38.9896598Z CC: stdlib_win_setenv.nim
2022-05-06T14:09:38.9896942Z CC: stdlib_os.nim
2022-05-06T14:09:38.9897278Z CC: stdlib_strformat.nim
2022-05-06T14:09:38.9897620Z CC: stdlib_terminal.nim
2022-05-06T14:09:38.9897868Z CC: stdlib_critbits.nim
2022-05-06T14:09:38.9898712Z CC: C:/Users/runneradmin/.nimble/pkgs/cligen-#b962cf8bc0be847cbc1b4f77952775de765e9689/cligen/parseopt3.nim
2022-05-06T14:09:38.9899455Z CC: cli.nim
2022-05-06T14:09:38.9900489Z CC: stdlib_logging.nim
2022-05-06T14:09:38.9900717Z CC: logger.nim
2022-05-06T14:09:38.9900978Z CC: stdlib_hashes.nim
2022-05-06T14:09:38.9901286Z CC: stdlib_tables.nim
2022-05-06T14:09:38.9901511Z CC: stdlib_streams.nim
2022-05-06T14:09:38.9901786Z CC: stdlib_lexbase.nim
2022-05-06T14:09:38.9902098Z CC: patched_stdlib/parsejson.nim
2022-05-06T14:09:38.9902359Z CC: patched_stdlib/json.nim
2022-05-06T14:09:38.9902649Z CC: stdlib_sets.nim
2022-05-06T14:09:38.9903275Z CC: C:/Users/runneradmin/.nimble/pkgs/jsony-#2a2cc4331720b7695c8b66529dbfea6952727e7b/jsony.nim
2022-05-06T14:09:38.9903595Z CC: helpers.nim
2022-05-06T14:09:38.9903865Z CC: lint/validators.nim
2022-05-06T14:09:38.9904159Z CC: sync/sync_common.nim
2022-05-06T14:09:38.9904398Z CC: sync/sync_filepaths.nim
2022-05-06T14:09:38.9904928Z CC: C:/Users/runneradmin/.nimble/pkgs/parsetoml-#9cdeb3f65fd10302da157db8a8bac5c42f055249/parsetoml.nim
2022-05-06T14:09:38.9905319Z CC: stdlib_osproc.nim
2022-05-06T14:09:38.9905540Z CC: exec.nim
2022-05-06T14:09:38.9905805Z CC: sync/probspecs.nim
2022-05-06T14:09:38.9906160Z CC: sync/tracks.nim
2022-05-06T14:09:38.9906387Z CC: sync/exercises.nim
2022-05-06T14:09:38.9906691Z CC: sync/sync_docs.nim
2022-05-06T14:09:38.9906968Z CC: sync/sync_metadata.nim
2022-05-06T14:09:38.9907217Z CC: sync/sync_tests.nim
2022-05-06T14:09:38.9907470Z CC: sync/sync.nim
2022-05-06T14:09:38.9907717Z CC: fmt/fmt.nim
2022-05-06T14:09:38.9907938Z CC: lint/track_config.nim
2022-05-06T14:09:38.9908209Z CC: info/info.nim
2022-05-06T14:09:38.9908485Z CC: generate/generate.nim
2022-05-06T14:09:38.9908733Z CC: lint/concept_exercises.nim
2022-05-06T14:09:38.9909013Z CC: lint/concepts.nim
2022-05-06T14:09:38.9909949Z CC: lint/docs.nim
2022-05-06T14:09:38.9910184Z CC: lint/practice_exercises.nim
2022-05-06T14:09:38.9910481Z CC: lint/lint.nim
2022-05-06T14:09:38.9910996Z CC: C:/Users/runneradmin/.nimble/pkgs/isaac-#45a5cbbd54ff59ba3ed94242620c818b9aad1b5b/isaac.nim
2022-05-06T14:09:38.9911600Z CC: C:/Users/runneradmin/.nimble/pkgs/uuids-#8cb8720b567c6bcb261bd1c0f7491bdb5209ad06/uuids/urandom.nim
2022-05-06T14:09:38.9912141Z CC: C:/Users/runneradmin/.nimble/pkgs/uuids-#8cb8720b567c6bcb261bd1c0f7491bdb5209ad06/uuids.nim
2022-05-06T14:09:38.9912512Z CC: uuid/uuid.nim
2022-05-06T14:09:38.9912772Z CC: configlet.nim
2022-05-06T14:09:38.9912983Z Hint:  [Link]
2022-05-06T14:12:34.1693364Z Hint: gc: refc; opt: size; options: -d:release
2022-05-06T14:12:34.1694363Z 296973 lines; 201.059s; 181.141MiB peakmem; proj: D:\a\configlet\configlet\src\configlet.nim; out: D:\a\configlet\configlet\configlet.exe [SuccessX]

ee7 avatar May 06 '22 14:05 ee7