Ticket #6615 (closed: fixed)

Opened 8 years ago

Last modified 5 years ago

Review/Fix precompiled headers

Reported by: Martyn Gigg Owned by: Martyn Gigg
Priority: critical Milestone: Release 2.5
Component: Mantid Keywords:
Cc: Blocked By:
Blocking: Tester: Nick Draper

Description

There seem to be some issues with the precompiled headers with VS2010 that sometimes if you changed a dependent header then the pch file didn't recompile.

This needs to be solved as they give a huge speed up to the build

Change History

comment:1 Changed 8 years ago by Martyn Gigg

  • Summary changed from Review precompiled headers to Review/Fix precompiled headers

comment:2 Changed 8 years ago by Martyn Gigg

  • Status changed from new to accepted

comment:3 Changed 8 years ago by Martyn Gigg

Improve precompiled header support. Refs #6615

The .cpp files that support them are now auto-generated and the files now properly regenerate if a dependency changes.

Changeset: 94b422a70b10ea67952c0c44f064e63f87033802

comment:4 Changed 8 years ago by Martyn Gigg

Improve precompiled header support. Refs #6615

The .cpp files that support them are now auto-generated and the files now properly regenerate if a dependency changes.

Changeset: b63cc9fd96e2415135f1defa291f91d88556f7ba

comment:5 Changed 8 years ago by Martyn Gigg

Replace pch limit to avoid msbuild error. Refs #6615

Only seems to occur on the commandline.

Changeset: c37fb9464d47816e8548556af87d4e345f1b3f01

comment:6 Changed 8 years ago by Martyn Gigg

Set /Zm for MSVC compiler if it does not exist. Refs #6615

Changeset: 043d976c9570b54ff707eae9c7f2fb34fd66cd85

comment:7 Changed 8 years ago by Martyn Gigg

  • Status changed from accepted to verify
  • Resolution set to fixed

Tester: This applies to Windows only at the moment. There is a cmake flag called USE_PRECOMPILED_HEADERS. If set to true then Visual Studio should use precompiled headers as part of the build and it will be substantially faster.

On the build server Algorithms went from 1min 50secs to 44 secs with them turned on.

comment:8 Changed 8 years ago by Martyn Gigg

Committed against the wrong ticket by accident:

Generate precompiled header cpp only once. Refs #5537

Changeset: 4671b9fe4bbe15e4797c59ed541eb9069356abb7

comment:9 Changed 8 years ago by Martyn Gigg

Remove force set lines that causes a whole rebuild. Refs #6615

Changeset: 9ab6d7f1bac04f2e4c376d24267314b751db8928

comment:10 Changed 8 years ago by Nick Draper

  • Status changed from verify to verifying
  • Tester set to Nick Draper

comment:11 Changed 8 years ago by Nick Draper

  • Status changed from verifying to closed

The overall effect on the Win 7 build server is not too noticeable, perhaps this is fue to the SSD and large computing power.

Windows 32 bit is vastly improved, overall clean build and test time dropped from 60 mins to 45.

My laptop build speed has roughly doubled or better.

comment:12 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 7461

Note: See TracTickets for help on using tickets.