Skip to content

Massive compilation time degradation when upgrading to libBoost 1.68 #76

@PiotrZSL

Description

@PiotrZSL

After upgrading to libBoost 1.68 our compilation time of our project (3.1 m lines) deceased dramatically from ~45 min to ~1h 10min.

Deeper investigation points to this commit:

commit 71d797b9ee132b381c2d4f3b5bcca2078b0a5062
Author: Andrzej Krzemienski <akrzemi1@gmail.com>
Date:   Thu Jun 28 23:27:42 2018 +0200

    added implementation and tests of flat_map()

Compilation time of single file changes from 0m35.891s to 1m29.625s.
Same file compiled under other versions:

1.72:  1m28.077s
1.69:  1m26.839s
1.68:  1m30.255s
1.67:  0m26.357s
1.66:  0m26.683s

Our project heavily utilize boost::optional.
Tested on GCC 6.4 and GCC 8.

Commenting out "flat_map" methods reduces compilation time from 1m31.631s to 0m35.455s, commenting out additionally "map" method reduces compilation time even more back to 1.67 level (0m27.002s).

Please optimize these functions or add ability to exclude them from compilation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions