[CMake] Obtaining improved GNU make performance on Makefiles generated by cmake
Clinton Stimpson
clinton at elemtech.com
Tue Mar 25 14:51:08 EDT 2008
Bill Hoffman wrote:
> Bill Hoffman wrote:
>
>>
>> Sure, it will take some time to do this, as a build of paraview can
>> take some time, and I will have to do it twice. However, with the
>> single target in ParaView case, I know when Brad made the change he
>> saw significant speed ups, but I do not have the numbers.
>>
> OK, so the results are in for ParaView which has a total of 144 targets.
>
>
> --- build all of paraview with nothing needing a build:
>
> 2.6
> make 15.21s user 5.55s system 74% cpu 28.049 total
> make 15.44s user 5.35s system 98% cpu 21.073 total
>
> 2.4
> make 14.40s user 5.09s system 59% cpu 32.793 total
> make 14.73s user 4.74s system 98% cpu 19.684 total
> * There is a 5 second delay before seeing the first line
> of output from a 2.4 build tree on ParaView, no delay
> in 2.6
>
> 2.6 is less than a second slower, but perception is better because
> there is no delay without output.
>
>
>
> --- build a target that only depends on only one other target.
> ( 2.6 is about 3 seconds faster in this case.)
>
> 2.6
> silverymoon:paraview3-build-cmake26 make vtkCommon
> [ 0%] Built target vtksys
> [100%] Built target vtkCommon
> silverymoon:paraview3-build-cmake26 time make vtkCommon
> [ 0%] Built target vtksys
> [100%] Built target vtkCommon
> make vtkCommon 0.43s user 0.08s system 99% cpu 0.513 total
> silverymoon:paraview3-build-cmake26 time make vtkCommon
> [ 0%] Built target vtksys
> [100%] Built target vtkCommon
> make vtkCommon 0.44s user 0.08s system 99% cpu 0.522 total
> silverymoon:paraview3-build-cmake26 time make vtkCommon
> [ 0%] Built target vtksys
> [100%] Built target vtkCommon
> make vtkCommon 0.41s user 0.10s system 99% cpu 0.515 total
>
> 2.4
> silverymoon:paraview3-build time make vtkCommon
> [ 0%] Built target vtksys
> [100%] Built target vtkCommon
> make vtkCommon 3.32s user 5.70s system 99% cpu 9.025 total
> silverymoon:paraview3-build time make vtkCommon
> [ 0%] Built target vtksys
> [100%] Built target vtkCommon
> make vtkCommon 3.24s user 5.81s system 99% cpu 9.059 total
>
>
> --- Build a target that depends on 60 other targets
>
> 2.6
>
> make vtkPVServerManager 9.70s user 3.04s system 99% cpu 12.754 total
> make vtkPVServerManager 9.64s user 2.91s system 99% cpu 12.569 total
>
> 2.4
>
> make vtkPVServerManager 11.40s user 6.38s system 99% cpu 17.955 total
> make vtkPVServerManager 11.19s user 6.58s system 99% cpu 17.774 total
>
>
> In summary, I would say 2.6 or CVS is better. We only loose less than
> a second out of 15 on the total, and we gain 2 or 3 on single targets.
>
I was getting better numbers than that with parallel builds (is that
expected?).
A plain make was a touch faster, and make pqCore was almost 2x as fast.
Clint
More information about the CMake
mailing list