Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build time analysis #66

Open
hv15 opened this issue Jan 11, 2022 · 0 comments
Open

Build time analysis #66

hv15 opened this issue Jan 11, 2022 · 0 comments

Comments

@hv15
Copy link
Member

hv15 commented Jan 11, 2022

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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant