[cmake-developers] CMake 3.5 generation time

Bartosz Kosiorek gang65 at poczta.onet.pl
Fri Feb 5 09:10:33 EST 2016


Hi.
Finally I was able to finalize git bisect.
Generally without regression time was: real 3m44.070s
first bad commit: [0c97d32f7a592a768d614c19b3fd48eab245a2c4]
cmGlobalGenerator: Remove direct storage of target
time increased to real    6m36.929s (second clean run real    6m12.635s)
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0c97d32f

In our project we have exactly 3287 targets, because we have flavored
builds (in many cases one source code is build in three variants, depending
on map type)

Below there is an logs from git bisect and times for specific commits.


0c97d32f7a592a768d614c19b3fd48eab245a2c4 is the first bad commit
commit 0c97d32f7a592a768d614c19b3fd48eab245a2c4
Author: Stephen Kelly <steveire at gmail.com>
Date:   Sun Oct 25 12:22:51 2015 +0100

    cmGlobalGenerator: Remove direct storage of targets

    Find the target by looping when needed.

:040000 040000 81eb745e29adced1b44b4e58e6f7658691ff0613
fe0617270fc29a9dabf64035f5a1b3827413bb36 M Source



Bisection logs:
git bisect log
git bisect start
# bad: [8a8d22cf1e5d20b7c3b32c1ec9b5f06b339c2a50] CMake 3.5.0-rc1 version
update
git bisect bad 8a8d22cf1e5d20b7c3b32c1ec9b5f06b339c2a50
# good: [0aef6f2412177a236deb292654402518777f3cb0] CMake 3.4.3
git bisect good 0aef6f2412177a236deb292654402518777f3cb0
# skip: [49ac682d39af7fe47e79455827e2e83130193236] Merge topic
'vs-show-def-files'
git bisect skip 49ac682d39af7fe47e79455827e2e83130193236
# bad: [e069aa05c6a0d8e89a677fa4f00d33432191eeaa] Merge topic
'regex-explorer'
git bisect bad e069aa05c6a0d8e89a677fa4f00d33432191eeaa
# good: [a03c13a710fc4c65035e92749720b559cbeeff2e] CMake Nightly Date Stamp
git bisect good a03c13a710fc4c65035e92749720b559cbeeff2e
# skip: [59315f5b0028e4f9c4fde765196c4df38ab83b3e] Merge topic
'cpack-deb-compression-scheme-test'
git bisect skip 59315f5b0028e4f9c4fde765196c4df38ab83b3e
# bad: [48182afd3d04cc659fc5d86ab65b403d8a2b8eff] CMake Nightly Date Stamp
git bisect bad 48182afd3d04cc659fc5d86ab65b403d8a2b8eff
# skip: [1e8c920d0409770214a4ff517f6a4c31b9830f45] Merge topic
'use-generator-target'
git bisect skip 1e8c920d0409770214a4ff517f6a4c31b9830f45
# good: [cf69630e510a5c639a93a99b315fcefea9688935] cmGeneratorTarget: Move
GetFrameworkVersion from cmTarget
git bisect good cf69630e510a5c639a93a99b315fcefea9688935
# skip: [1bfb527f561c705169f0716108e34a2b5ba5c8bb] FindPkgConfig: return
actual error when a package is not found (#15810)
git bisect skip 1bfb527f561c705169f0716108e34a2b5ba5c8bb
# skip: [c389f8bb07e900d805ca3163f47b06e3dbe4303b] cmLocalGenerator: Port
Find method away from GetGeneratorTarget
git bisect skip c389f8bb07e900d805ca3163f47b06e3dbe4303b
# skip: [1a8c7bc2c649781d1163c1966245a45e0fb829ba] libarchive
3.1.2-601-g3bfe5f1 (reduced)
git bisect skip 1a8c7bc2c649781d1163c1966245a45e0fb829ba
# skip: [60cbd9b9da2059481e2f29fbb5859a5b0643d3d7] CMake Nightly Date Stamp
git bisect skip 60cbd9b9da2059481e2f29fbb5859a5b0643d3d7
# bad: [3cb726371f27948149f668d43aa58cd2a5e9be4c] Merge topic
'wix-toplevel-feature-required'
git bisect bad 3cb726371f27948149f668d43aa58cd2a5e9be4c
# good: [6a56c8247fa874bd418c3e175c941070dafb0e76] Tests: Disable parallel
test execution while running ctest_test
git bisect good 6a56c8247fa874bd418c3e175c941070dafb0e76
# skip: [e14709e5a5379f0a6fa2434551211b66561ad540] Merge topic
'revert-autorcc-qt-5.1'
git bisect skip e14709e5a5379f0a6fa2434551211b66561ad540
# good: [832fe4b133f47781f4e08df1f83fdc4e3e7aa06b] libarchive: Fix VS 7.1
Debug build
git bisect good 832fe4b133f47781f4e08df1f83fdc4e3e7aa06b
# skip: [b5d94065c07a3ba6db29297e55b0e01ba0ef1f9d] Merge topic
'autorcc-qt-5.1-compat'
git bisect skip b5d94065c07a3ba6db29297e55b0e01ba0ef1f9d
# good: [91a829c165209b96c20d17f8eb7d46d3375cc57c] Makefiles: Remove unused
variable
git bisect good 91a829c165209b96c20d17f8eb7d46d3375cc57c
# skip: [5cdba31fc631453d530abbac04bf4a455d1f10bb] Merge topic
'cpack-osx-sysroot'
git bisect skip 5cdba31fc631453d530abbac04bf4a455d1f10bb
# skip: [6c0d8a5d027bfe681f45337c79d1bbba6331bbd8] README: Fix typo in
wording
git bisect skip 6c0d8a5d027bfe681f45337c79d1bbba6331bbd8
# bad: [4ce9742ae33678d8fce189d172c2fffb1a43061c] Alias: Fix access at
generate-time (#15832)
git bisect bad 4ce9742ae33678d8fce189d172c2fffb1a43061c
# good: [85e0bb84f5eca2f77f070bce9f83024854096307] libarchive: Avoid using
'uint8_t' as bitfield type
git bisect good 85e0bb84f5eca2f77f070bce9f83024854096307
# skip: [13dc7bdb5e3a0eaaf3607b154bba77a01404a788] CMake Nightly Date Stamp
git bisect skip 13dc7bdb5e3a0eaaf3607b154bba77a01404a788
# skip: [a375702eaa961a496b9420a836c336d884e9cbf3] CMake Nightly Date Stamp
git bisect skip a375702eaa961a496b9420a836c336d884e9cbf3
# good: [593f347b5385a510e641eca0448f7ddf64c1c12b] VS7: Port some
implementation details to cmGeneratorTarget
git bisect good 593f347b5385a510e641eca0448f7ddf64c1c12b
# skip: [7f6c613fd041e8b2dcbfdfc43992a6db28a4b36a] Merge topic
'bootstrap-cleanup'
git bisect skip 7f6c613fd041e8b2dcbfdfc43992a6db28a4b36a
# skip: [3179d9a2415702b8ca73e8759c0dba97f26423e2] Merge topic
'FindPkgConfig-better-error'
git bisect skip 3179d9a2415702b8ca73e8759c0dba97f26423e2
# skip: [e7e713cc0533cd8f1ef47de4cdfd895d33545502] VS: Add module
definition `.def` files to .vcxproj files (#15313)
git bisect skip e7e713cc0533cd8f1ef47de4cdfd895d33545502
# skip: [41e5605d029ac92c9593d69e06c3a56e1d5c40da] Merge topic
'vs-resw-files'
git bisect skip 41e5605d029ac92c9593d69e06c3a56e1d5c40da
# skip: [a3c5ca960bdf7c136fc64e3bb6d6619ca30623d2] cmGlobalNinjaGenerator:
Save 'ninja' version very early
git bisect skip a3c5ca960bdf7c136fc64e3bb6d6619ca30623d2
# good: [f8eb72fe5fedbf45e66f433e6bc54e1cf0359760] Help: Clarify
documentation for MACOSX_RPATH variable.
git bisect good f8eb72fe5fedbf45e66f433e6bc54e1cf0359760
# skip: [ed67f4052264003133b19edde2c85791d501e001] cmGlobalNinjaGenerator:
Save path to 'ninja' tool very early
git bisect skip ed67f4052264003133b19edde2c85791d501e001
# good: [63e2af0f8dbae222ebaae62b532340f3d83cbc93] CPack: Fix
CPACK_OSX_SYSROOT with symbolic CMAKE_OSX_SYSROOT (#15816)
git bisect good 63e2af0f8dbae222ebaae62b532340f3d83cbc93
# skip: [247c168b987a8c9c479112c13078aa2e5db37773] Refactor `.def` file
lookup
git bisect skip 247c168b987a8c9c479112c13078aa2e5db37773
# skip: [39e830a98e81929ce95694f2f81d92ffd3f14d5b] Merge topic
'cpack-deb-config-file-source-field'
git bisect skip 39e830a98e81929ce95694f2f81d92ffd3f14d5b
# skip: [adfc8a677e51772d87a3e050477c60ce0b70288f] cmGeneratorTarget: Fix
IMPLEMENT_VISIT_IMPL for template data types
git bisect skip adfc8a677e51772d87a3e050477c60ce0b70288f
# good: [520ca0ff6c123250c633a3618459d0161cbc4683] cmGeneratorTarget: Add
API for property keys
git bisect good 520ca0ff6c123250c633a3618459d0161cbc4683
# good: [e78fcc6329483c99e61cebffbe5d82b67a3361ae] QtAutogen: Fix rcc
invocation for Qt 5.0 and 5.1 (#15644)
git bisect good e78fcc6329483c99e61cebffbe5d82b67a3361ae
# skip: [06ed3eb9e97e0b5e7f8f968518f0822f3bdda06d] Merge topic
'xcode-lastupgradecheck'
git bisect skip 06ed3eb9e97e0b5e7f8f968518f0822f3bdda06d
# good: [45cd9e63371ae09b6ad9dbc27ac4d36c19b357af] Update libarchive
configuration within CMake
git bisect good 45cd9e63371ae09b6ad9dbc27ac4d36c19b357af
# skip: [96ac964d765108ea0bf2c37567efdf777a6047e4] CMake Nightly Date Stamp
git bisect skip 96ac964d765108ea0bf2c37567efdf777a6047e4
# bad: [79c11d23405d3894a254a8c03df5ead32464b109] Xcode: Port away from
GetGeneratorTarget
git bisect bad 79c11d23405d3894a254a8c03df5ead32464b109
# bad: [d566f39a640297114bd3ad933bb3279440b2f38f] cmGlobalGenerator: Remove
unneeded GetGeneratorTarget
git bisect bad d566f39a640297114bd3ad933bb3279440b2f38f
# good: [383bfd95432990365ac5c7fc3ab190bfb05cbec1]
cmTargetCollectLinkLanguages: Remove cmMakefile dependency
git bisect good 383bfd95432990365ac5c7fc3ab190bfb05cbec1
kosiorek at pl1lxl-104710:~/dev/perforce/cmake-dev-doc-update$ git bisect log
git bisect start
# bad: [8a8d22cf1e5d20b7c3b32c1ec9b5f06b339c2a50] CMake 3.5.0-rc1 version
update
git bisect bad 8a8d22cf1e5d20b7c3b32c1ec9b5f06b339c2a50
# good: [0aef6f2412177a236deb292654402518777f3cb0] CMake 3.4.3
git bisect good 0aef6f2412177a236deb292654402518777f3cb0
# skip: [49ac682d39af7fe47e79455827e2e83130193236] Merge topic
'vs-show-def-files'
git bisect skip 49ac682d39af7fe47e79455827e2e83130193236
# bad: [e069aa05c6a0d8e89a677fa4f00d33432191eeaa] Merge topic
'regex-explorer'
git bisect bad e069aa05c6a0d8e89a677fa4f00d33432191eeaa
# good: [a03c13a710fc4c65035e92749720b559cbeeff2e] CMake Nightly Date Stamp
git bisect good a03c13a710fc4c65035e92749720b559cbeeff2e
# skip: [59315f5b0028e4f9c4fde765196c4df38ab83b3e] Merge topic
'cpack-deb-compression-scheme-test'
git bisect skip 59315f5b0028e4f9c4fde765196c4df38ab83b3e
# bad: [48182afd3d04cc659fc5d86ab65b403d8a2b8eff] CMake Nightly Date Stamp
git bisect bad 48182afd3d04cc659fc5d86ab65b403d8a2b8eff
# skip: [1e8c920d0409770214a4ff517f6a4c31b9830f45] Merge topic
'use-generator-target'
git bisect skip 1e8c920d0409770214a4ff517f6a4c31b9830f45
# good: [cf69630e510a5c639a93a99b315fcefea9688935] cmGeneratorTarget: Move
GetFrameworkVersion from cmTarget
git bisect good cf69630e510a5c639a93a99b315fcefea9688935
# skip: [1bfb527f561c705169f0716108e34a2b5ba5c8bb] FindPkgConfig: return
actual error when a package is not found (#15810)
git bisect skip 1bfb527f561c705169f0716108e34a2b5ba5c8bb
# skip: [c389f8bb07e900d805ca3163f47b06e3dbe4303b] cmLocalGenerator: Port
Find method away from GetGeneratorTarget
git bisect skip c389f8bb07e900d805ca3163f47b06e3dbe4303b
# skip: [1a8c7bc2c649781d1163c1966245a45e0fb829ba] libarchive
3.1.2-601-g3bfe5f1 (reduced)
git bisect skip 1a8c7bc2c649781d1163c1966245a45e0fb829ba
# skip: [60cbd9b9da2059481e2f29fbb5859a5b0643d3d7] CMake Nightly Date Stamp
git bisect skip 60cbd9b9da2059481e2f29fbb5859a5b0643d3d7
# bad: [3cb726371f27948149f668d43aa58cd2a5e9be4c] Merge topic
'wix-toplevel-feature-required'
git bisect bad 3cb726371f27948149f668d43aa58cd2a5e9be4c
# good: [6a56c8247fa874bd418c3e175c941070dafb0e76] Tests: Disable parallel
test execution while running ctest_test
git bisect good 6a56c8247fa874bd418c3e175c941070dafb0e76
# skip: [e14709e5a5379f0a6fa2434551211b66561ad540] Merge topic
'revert-autorcc-qt-5.1'
git bisect skip e14709e5a5379f0a6fa2434551211b66561ad540
# good: [832fe4b133f47781f4e08df1f83fdc4e3e7aa06b] libarchive: Fix VS 7.1
Debug build
git bisect good 832fe4b133f47781f4e08df1f83fdc4e3e7aa06b
# skip: [b5d94065c07a3ba6db29297e55b0e01ba0ef1f9d] Merge topic
'autorcc-qt-5.1-compat'
git bisect skip b5d94065c07a3ba6db29297e55b0e01ba0ef1f9d
# good: [91a829c165209b96c20d17f8eb7d46d3375cc57c] Makefiles: Remove unused
variable
git bisect good 91a829c165209b96c20d17f8eb7d46d3375cc57c
# skip: [5cdba31fc631453d530abbac04bf4a455d1f10bb] Merge topic
'cpack-osx-sysroot'
git bisect skip 5cdba31fc631453d530abbac04bf4a455d1f10bb
# skip: [6c0d8a5d027bfe681f45337c79d1bbba6331bbd8] README: Fix typo in
wording
git bisect skip 6c0d8a5d027bfe681f45337c79d1bbba6331bbd8
# bad: [4ce9742ae33678d8fce189d172c2fffb1a43061c] Alias: Fix access at
generate-time (#15832)
git bisect bad 4ce9742ae33678d8fce189d172c2fffb1a43061c
# good: [85e0bb84f5eca2f77f070bce9f83024854096307] libarchive: Avoid using
'uint8_t' as bitfield type
git bisect good 85e0bb84f5eca2f77f070bce9f83024854096307
# skip: [13dc7bdb5e3a0eaaf3607b154bba77a01404a788] CMake Nightly Date Stamp
git bisect skip 13dc7bdb5e3a0eaaf3607b154bba77a01404a788
# skip: [a375702eaa961a496b9420a836c336d884e9cbf3] CMake Nightly Date Stamp
git bisect skip a375702eaa961a496b9420a836c336d884e9cbf3
# good: [593f347b5385a510e641eca0448f7ddf64c1c12b] VS7: Port some
implementation details to cmGeneratorTarget
git bisect good 593f347b5385a510e641eca0448f7ddf64c1c12b
# skip: [7f6c613fd041e8b2dcbfdfc43992a6db28a4b36a] Merge topic
'bootstrap-cleanup'
git bisect skip 7f6c613fd041e8b2dcbfdfc43992a6db28a4b36a
# skip: [3179d9a2415702b8ca73e8759c0dba97f26423e2] Merge topic
'FindPkgConfig-better-error'
git bisect skip 3179d9a2415702b8ca73e8759c0dba97f26423e2
# skip: [e7e713cc0533cd8f1ef47de4cdfd895d33545502] VS: Add module
definition `.def` files to .vcxproj files (#15313)
git bisect skip e7e713cc0533cd8f1ef47de4cdfd895d33545502
# skip: [41e5605d029ac92c9593d69e06c3a56e1d5c40da] Merge topic
'vs-resw-files'
git bisect skip 41e5605d029ac92c9593d69e06c3a56e1d5c40da
# skip: [a3c5ca960bdf7c136fc64e3bb6d6619ca30623d2] cmGlobalNinjaGenerator:
Save 'ninja' version very early
git bisect skip a3c5ca960bdf7c136fc64e3bb6d6619ca30623d2
# good: [f8eb72fe5fedbf45e66f433e6bc54e1cf0359760] Help: Clarify
documentation for MACOSX_RPATH variable.
git bisect good f8eb72fe5fedbf45e66f433e6bc54e1cf0359760
# skip: [ed67f4052264003133b19edde2c85791d501e001] cmGlobalNinjaGenerator:
Save path to 'ninja' tool very early
git bisect skip ed67f4052264003133b19edde2c85791d501e001
# good: [63e2af0f8dbae222ebaae62b532340f3d83cbc93] CPack: Fix
CPACK_OSX_SYSROOT with symbolic CMAKE_OSX_SYSROOT (#15816)
git bisect good 63e2af0f8dbae222ebaae62b532340f3d83cbc93
# skip: [247c168b987a8c9c479112c13078aa2e5db37773] Refactor `.def` file
lookup
git bisect skip 247c168b987a8c9c479112c13078aa2e5db37773
# skip: [39e830a98e81929ce95694f2f81d92ffd3f14d5b] Merge topic
'cpack-deb-config-file-source-field'
git bisect skip 39e830a98e81929ce95694f2f81d92ffd3f14d5b
# skip: [adfc8a677e51772d87a3e050477c60ce0b70288f] cmGeneratorTarget: Fix
IMPLEMENT_VISIT_IMPL for template data types
git bisect skip adfc8a677e51772d87a3e050477c60ce0b70288f
# good: [520ca0ff6c123250c633a3618459d0161cbc4683] cmGeneratorTarget: Add
API for property keys
git bisect good 520ca0ff6c123250c633a3618459d0161cbc4683
# good: [e78fcc6329483c99e61cebffbe5d82b67a3361ae] QtAutogen: Fix rcc
invocation for Qt 5.0 and 5.1 (#15644)
git bisect good e78fcc6329483c99e61cebffbe5d82b67a3361ae
# skip: [06ed3eb9e97e0b5e7f8f968518f0822f3bdda06d] Merge topic
'xcode-lastupgradecheck'
git bisect skip 06ed3eb9e97e0b5e7f8f968518f0822f3bdda06d
# good: [45cd9e63371ae09b6ad9dbc27ac4d36c19b357af] Update libarchive
configuration within CMake
git bisect good 45cd9e63371ae09b6ad9dbc27ac4d36c19b357af
# skip: [96ac964d765108ea0bf2c37567efdf777a6047e4] CMake Nightly Date Stamp
git bisect skip 96ac964d765108ea0bf2c37567efdf777a6047e4
# bad: [79c11d23405d3894a254a8c03df5ead32464b109] Xcode: Port away from
GetGeneratorTarget
git bisect bad 79c11d23405d3894a254a8c03df5ead32464b109
# bad: [d566f39a640297114bd3ad933bb3279440b2f38f] cmGlobalGenerator: Remove
unneeded GetGeneratorTarget
git bisect bad d566f39a640297114bd3ad933bb3279440b2f38f
# good: [383bfd95432990365ac5c7fc3ab190bfb05cbec1]
cmTargetCollectLinkLanguages: Remove cmMakefile dependency
git bisect good 383bfd95432990365ac5c7fc3ab190bfb05cbec1


Bisection results:

first bad commit: [0c97d32f7a592a768d614c19b3fd48eab245a2c4]
cmGlobalGenerator: Remove direct storage of target
1.
real    6m36.929s
user    6m26.232s
sys    0m3.928s
2.
real    6m12.635s
user    6m9.340s
sys    0m3.604s


# good: [383bfd95432990365ac5c7fc3ab190bfb05cbec1]
cmTargetCollectLinkLanguages: Remove cmMakefile dependency
real 3m44.070s
user 3m39.872s
sys 0m3.608s


# bad: [d566f39a640297114bd3ad933bb3279440b2f38f] cmGlobalGenerator: Remove
unneeded GetGeneratorTarget
real 7m5.141s
user 6m59.824s
sys 0m3.796s

# bad: [79c11d23405d3894a254a8c03df5ead32464b109] Xcode: Port away from
GetGeneratorTarget
real 6m33.845s
user 6m30.440s
sys 0m3.616s

# good: [45cd9e63371ae09b6ad9dbc27ac4d36c19b357af] Update libarchive
configuration within CMake
real 3m46.190s
user 3m41.800s
sys 0m3.260s

# good: [e78fcc6329483c99e61cebffbe5d82b67a3361ae] QtAutogen: Fix rcc
invocation for Qt 5.0 and 5.1 (#15644)
real 3m44.454s
user 3m39.640s
sys 0m3.524s

# good: [520ca0ff6c123250c633a3618459d0161cbc4683] cmGeneratorTarget: Add
API for property keys
real 3m43.945s
user 3m39.712s
sys 0m3.568s

# good: [63e2af0f8dbae222ebaae62b532340f3d83cbc93] CPack: Fix
CPACK_OSX_SYSROOT with symbolic CMAKE_OSX_SYSROOT (#15816)
real 3m44.176s
user 3m39.216s
sys 0m3.764s

# good: [f8eb72fe5fedbf45e66f433e6bc54e1cf0359760] Help: Clarify
documentation for MACOSX_RPATH variable.
real 3m35.856s
user 3m29.228s
sys 0m3.536s

# good: [593f347b5385a510e641eca0448f7ddf64c1c12b] VS7: Port some
implementation details to cmGeneratorTarget
real 3m46.947s
user 3m42.540s
sys 0m3.636s


# good: [85e0bb84f5eca2f77f070bce9f83024854096307] libarchive: Avoid using
'uint8_t' as bitfield type
real 3m40.737s
user 3m36.084s
sys 0m3.548s


bad: [4ce9742ae33678d8fce189d172c2fffb1a43061c] Alias: Fix access at
generate-time (#15832)
real 9m17.389s
user 9m14.324s
sys 0m3.596s

# good: [91a829c165209b96c20d17f8eb7d46d3375cc57c] Makefiles: Remove unused
variable
real 3m51.085s
user 3m46.896s
sys 0m3.592s

[b5d94065c07a3ba6db29297e55b0e01ba0ef1f9d] Merge topic
'autorcc-qt-5.1-compat'
1.
real 4m30.586s
user 4m19.812s
sys 0m4.080s
2.
real 4m23.646s
user 4m18.552s
sys 0m4.084s

# good: [6a56c8247fa874bd418c3e175c941070dafb0e76] Tests: Disable parallel
test execution while running ctest_test
real 3m49.764s
user 3m45.076s
sys 0m3.736s

# bad: [3cb726371f27948149f668d43aa58cd2a5e9be4c] Merge topic
'wix-toplevel-feature-required'
real 11m44.201s
user 11m41.232s
sys 0m3.960s

# good: [cf69630e510a5c639a93a99b315fcefea9688935] cmGeneratorTarget: Move
GetFrameworkVersion from cmTarget
real 3m52.078s
user 3m47.508s
sys 0m4.240s

# bad: [48182afd3d04cc659fc5d86ab65b403d8a2b8eff] CMake Nightly Date Stamp
real 12m6.370s
user 12m2.872s
sys 0m4.392s

# good: [a03c13a710fc4c65035e92749720b559cbeeff2e] CMake Nightly Date Stamp
real 3m54.556s
user 3m44.596s
sys 0m4.284s

# bad: [e069aa05c6a0d8e89a677fa4f00d33432191eeaa] Merge topic
'regex-explorer'
real 12m36.866s
user 12m31.864s
sys 0m4.348s

# good: [d233030f5bcfe2509b82433f7df6383cd301e34e] cmGeneratorTarget: Port
implementation to cmGeneratorTarget.
git bisect bad d233030f5bcfe2509b82433f7df6383cd301e34e
1. First clean generation
real 3m40.716s
user 3m34.908s
sys 0m3.944s
2. Second clean generation
real 3m41.351s
user 3m36.880s
sys 0m3.872s


2016-02-04 23:57 GMT+01:00 Bartosz Kosiorek <gang65 at poczta.onet.pl>:

> Hi Brad
> Unfortunately after building locally, the times are totally different
> (worse).
> I don't know why it is happen.
>
> Builds for some specific commits, are not able to run properly. In that
> case I have just skip bisect commit.
> Do you have some further recommendation?
>
>
> On master the times are:
> real 8m1.255s
> user 7m56.684s
> sys 0m3.900s
>
> Bisection logs:
> git bisect log
> git bisect start
> # bad: [8a8d22cf1e5d20b7c3b32c1ec9b5f06b339c2a50] CMake 3.5.0-rc1 version
> update
> git bisect bad 8a8d22cf1e5d20b7c3b32c1ec9b5f06b339c2a50
> # good: [0aef6f2412177a236deb292654402518777f3cb0] CMake 3.4.3
> git bisect good 0aef6f2412177a236deb292654402518777f3cb0
> # skip: [49ac682d39af7fe47e79455827e2e83130193236] Merge topic
> 'vs-show-def-files'
> git bisect skip 49ac682d39af7fe47e79455827e2e83130193236
> # bad: [e069aa05c6a0d8e89a677fa4f00d33432191eeaa] Merge topic
> 'regex-explorer'
> git bisect bad e069aa05c6a0d8e89a677fa4f00d33432191eeaa
> # good: [a03c13a710fc4c65035e92749720b559cbeeff2e] CMake Nightly Date Stamp
> git bisect good a03c13a710fc4c65035e92749720b559cbeeff2e
> # skip: [59315f5b0028e4f9c4fde765196c4df38ab83b3e] Merge topic
> 'cpack-deb-compression-scheme-test'
> git bisect skip 59315f5b0028e4f9c4fde765196c4df38ab83b3e
> # bad: [48182afd3d04cc659fc5d86ab65b403d8a2b8eff] CMake Nightly Date Stamp
> git bisect bad 48182afd3d04cc659fc5d86ab65b403d8a2b8eff
> # skip: [1e8c920d0409770214a4ff517f6a4c31b9830f45] Merge topic
> 'use-generator-target'
> git bisect skip 1e8c920d0409770214a4ff517f6a4c31b9830f45
> # good: [cf69630e510a5c639a93a99b315fcefea9688935] cmGeneratorTarget: Move
> GetFrameworkVersion from cmTarget
> git bisect good cf69630e510a5c639a93a99b315fcefea9688935
> # skip: [1bfb527f561c705169f0716108e34a2b5ba5c8bb] FindPkgConfig: return
> actual error when a package is not found (#15810)
> git bisect skip 1bfb527f561c705169f0716108e34a2b5ba5c8bb
>
>
> Bisection results:
> # good: [cf69630e510a5c639a93a99b315fcefea9688935] cmGeneratorTarget: Move
> GetFrameworkVersion from cmTarget
> real 3m52.078s
> user 3m47.508s
> sys 0m4.240s
>
> # bad: [48182afd3d04cc659fc5d86ab65b403d8a2b8eff] CMake Nightly Date Stamp
> real 12m6.370s
> user 12m2.872s
> sys 0m4.392s
>
> # good: [a03c13a710fc4c65035e92749720b559cbeeff2e] CMake Nightly Date Stamp
> real 3m54.556s
> user 3m44.596s
> sys 0m4.284s
>
> # bad: [e069aa05c6a0d8e89a677fa4f00d33432191eeaa] Merge topic
> 'regex-explorer'
> real 12m36.866s
> user 12m31.864s
> sys 0m4.348s
>
> # good: [d233030f5bcfe2509b82433f7df6383cd301e34e] cmGeneratorTarget: Port
> implementation to cmGeneratorTarget.
> git bisect bad d233030f5bcfe2509b82433f7df6383cd301e34e
> 1. First clean generation
> real 3m40.716s
> user 3m34.908s
> sys 0m3.944s
> 2. Second clean generation
> real 3m41.351s
> user 3m36.880s
> sys 0m3.872s
>
>
> 2016-02-04 20:56 GMT+01:00 Bartosz Kosiorek <gang65 at poczta.onet.pl>:
>
>> Hi.
>> I would like to mention that all my previous times, was measured for
>> clean Generation (I deleted all generation files)
>> I will try to make bisect build, to check where regression occur.
>>
>> Now I would like to present results with enabled cleaning only on first
>> run:
>>
>> CMake 3.4.3 Unix Makefile generation
>> 1. Clean run (rm -rf Output)
>> real 1m31.233s
>> user 1m26.136s
>> sys 0m3.004s
>> 2. Dirty run (no deletion)
>> real 1m27.101s
>> user 1m24.620s
>> sys 0m2.988s
>> 3. Dirty run (no deletion)
>> real 1m26.237s
>> user 1m23.240s
>> sys 0m3.020s
>> 4. Dirty run (no deletion)
>> real 1m27.670s
>> user 1m24.764s
>> sys 0m2.816s
>>
>> CMake 3.5.0-rc1 Unix Makefile generation
>> 1. Clean run (rm -rf Output)
>> real 2m34.244s
>> user 2m30.176s
>> sys 0m3.220s
>> 2. Dirty run (no deletion)
>> real 2m35.259s
>> user 2m32.400s
>> sys 0m3.116s
>> 3. Dirty run (no deletion)
>> real 2m27.881s
>> user 2m25.184s
>> sys 0m3.032s
>> 4. Dirty run (no deletion)
>> real 2m25.139s
>> user 2m22.552s
>> sys 0m2.984s
>>
>> 2016-02-04 18:57 GMT+01:00 Brad King <brad.king at kitware.com>:
>>
>>> On 02/04/2016 10:29 AM, Bartosz Kosiorek wrote:
>>> > I downloaded cmakes from website:
>>> > https://cmake.org/download/
>>> >
>>> > All generation were done on clean output (deleted all files generated
>>> by cmake)
>>> > on the same repository version, in the same directory.
>>> > The only difference was cmake version used for configuring.
>>> >
>>> > How I could check what was caused such long times?
>>>
>>> Try also timing the second and third runs on a single build tree
>>> to get timings without all the platform introspection tests.
>>>
>>> You could clone the CMake Git repository, build from source with
>>> -DCMAKE_BUILD_TYPE=RelWithDebInfo and then run it through a
>>> profiler (e.g. valgrind --tool=callgrind).  Alternatively you
>>> could `git bisect` between v3.4.3 and v3.5.0-rc1 to see if there
>>> is a small range of commits that causes the regression.  That
>>> could really help narrow it down.
>>>
>>> Thanks,
>>> -Brad
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20160205/bf1dbd19/attachment-0001.html>


More information about the cmake-developers mailing list