Skip to content

Size of GCC packages #12

@eine

Description

@eine

Sizes of Buster images:

ghdl/run:buster-gcc        96MB
ghdl/run:buster-llvm-7     116MB
ghdl/run:buster-mcode      84.6MB

ghdl/ghdl:buster-gcc-8.3.0 303MB - 96MB  = 207MB
ghdl/ghdl:buster-llvm-7    123MB - 116MB = 7MB
ghdl/ghdl:buster-mcode     88MB  - 84.6  = 3.4MB

It is surprising that GHDL tarballs with mcode or LLVM backends require less than 10MB, but GCC requires >200MB! I think we might be doing something wrong, such as adding build artifacts to the GCC tarball (which should not be there).

Image ghdl/ghdl:buster-gcc-8.3.0 can be inspected with wagoodman/dive:

docker run --rm -it \
  -v /var/run/docker.sock:/var/run/docker.sock \
  wagoodman/dive \
  ghdl/ghdl:buster-gcc-8.3.0

dive_gcc

dive_gcc2

@tgingold, in the first screenshot I'm concerned with lib/ghdl/*/*/*.o files. Should all of those be there? With LLVM or mcode backend only lib/ghdl/*/*/*.cf files exist. Regarding the second screenshot, libexec/gcc/x86_64-pc-linux-gnu/8.3.0/cc1 requires 239MB, and ghdl1 in the same dir requires 237MB! Is this ok?

Last, as seen in the second screenshot, info and man pages for ghdl are added. However, I believe this is not the same man doc that we generate with sphinx (see ghdl/ghdl#733). Where does it come from?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions