Skip to content

Build time analysis #66

@hv15

Description

@hv15

The stdlib can take a long time to build (more than 20 minutes on Linux-based systems). This issues collects together some stats which look at total build time with different options/optimisations on/off. This will be updated as time goes on...

Test system: Linux 5.12.19-hardened, Intel Xeon E5-2650L v4, 128 GB RAM, SSD
CC version: gcc (GCC) 11.1.0
SaC version:

---------------------------------------------------------------------------
 SAC - Single Assignment C
---------------------------------------------------------------------------

Name:                    sac2c
Version:                 1.3.3-MijasCosta-705-g41ed2
Build-type:              RELEASE
Date:                    2021-09-19T04:04:02
User:                    ???
Host:                    unknown

Detected OS string:      Linux-5.12.19-hardened1-1-hardened
Detected CPU string:     x86_64

CMake Generator:         Unix Makefiles
CMake Variant:           RELEASE

Run-time specialization: ON
Private heap manager:    ON
Polyhedral optional packages:
- ISL:                   OFF
- BARVINOK:              OFF
Back ends:
- MT/pthread:            ON
- MT/LPEL:               OFF
- CUDA:                  OFF
- OpenMP:                OFF
- SL:
- HWLOC:                 OFF
- Distributed memory:    OFF

====== distmen is non-functional ======
- CC:                    /usr/sbin/cc (GNU)
- CFLAGS to build sac2c:  -O3 -DNDEBUG -DDBUG_OFF -DPRODUCTION       -DWLAA_DEACTIVATED -DAE_DEACTIVATED -DTSI_DEACTIVATED       -DPADT_DEACTIVATED  -Wall -Wextra -Wstrict-prototypes -Wno-unused-parameter -Wno-unused-but-set-variable -Wconversion -Wno-unused-function -Wno-strict-overflow -Wimplicit-fallthrough=3 -Wno-format-truncation -pedantic  -mtune=generic -std=gnu99 -g -O3
- CFLAGS used by sac2c:   -Wall -Wextra -Wstrict-prototypes -Wno-unused-parameter -Wno-unused-but-set-variable  -Wno-unused-function -Wno-strict-overflow -Wimplicit-fallthrough=3 -Wno-format-truncation -pedantic -std=gnu99 -pedantic -Wno-unused -fno-builtin
- SaC Linksetsize:       0

Status:
- sac2c dirty state is: 0

Homepage: http://www.sac-home.org
Email: info@sac-home.org

Copyright (c) 1994-2017 SAC Development Team

Builds are always run using GNU Make, with flags: -j, we only build stdlib for seq and mt_pth targets.

A few general observations:

  • the build isn't super parallel, other then a few C files, we typically only reach 3 concurrent make processes

Normal build, with default options:

3920.68user 214.41system 23:50.18elapsed 289%CPU (0avgtext+0avgdata 2929292maxresident)

Build where AINL optimisation (just checking) is disabled:

3915.80user 214.71system 24:00.29elapsed 286%CPU (0avgtext+0avgdata 2929364maxresident)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions