Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • T Trilinos
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 936
    • Issues 936
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 22
    • Merge requests 22
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • James Willenbring
  • Trilinos
  • Issues
  • #351

Closed
Open
Created May 13, 2016 by James Willenbring@jmwilleMaintainer

Teuchos: Improve build time by stripping many includes from Teuchos_ConfigDefs.hpp

Created by: mhoemmen

@trilinos/teuchos @bartlettroscoe @nmhamster

Lines 80-105 of Teuchos_ConfigDefs.hpp include a lot of standard library header files. Just about every Teuchos header file includes Teuchos_ConfigDefs.hpp, and many Trilinos packages include a Teuchos header file. Thus, everybody includes all those headers. That increases build time.

We really need to remove those includes. I tried doing something like this in Tpetra_ConfigDefs.hpp once, and it broke a bunch of stuff downstream. In theory, it's their fault that they relied on unnecessary upstream includes. In practice, if we break their build, it interrupts their work and makes them grumpy. Thus, it's important to test EVERY PACKAGE that depends on Teuchos. We really should also test external software that depends on Teuchos or its downstream packages. Examples include Dakota (https://dakota.sandia.gov) and Nalu (https://github.com/spdomin/Nalu). Nevertheless, we need to brace ourselves for some disruption and complaints.

Assignee
Assign to
Time tracking