[riot-notifications] [RIOT-OS/RIOT] [PoC] Save ~75% of disk space in builds w/ compressed DWARF and Thin Archives. (#12152)

Juan I Carrano notifications at github.com
Mon Sep 2 15:39:58 CEST 2019


### Contribution description

*This is not intended to be merged.*

DWARF compression saves around 50% disk space and thin archive around the same. It seems both improvements are orthogonal and combining them yields almost the ideal 75% improvement.

This branch is built using @cladmi's [buildtest](https://github.com/cladmi/RIOT/tree/wip/du/buildtest) branch, #10195 and #12150 .

### Testing procedure

I only tested with `examples/default`, and I'm currently compiling `examples/gnrc_networking`.

<details>
 <summary>The test procedure as outlined in #12150 </summary>

```
$ BUILD_IN_DOCKER=1 DOCKER="sudo docker" make -C examples/default buildtest-indocker
```

The size was obtained with:

```
$ find output -name "default.*.bin.bindirsize" -type f -exec tail  -n1 '{}' \; | cut -f 1 | awk '{s+=$1} END {printf "%.0f", s}'
```

Replace "default" by your application's name.

</details>

#### examples/default

- Vanilla: 10328112 KB (~10GB).
- This branch: 2753392 KB (~2.75 GB).
- Improvement: 73%.

#### examples/gnrc_networking

In progress...

### Issues/PRs references

Combines #10195 , #12150 .
You can view, comment on, or merge this pull request online at:

  https://github.com/RIOT-OS/RIOT/pull/12152

-- Commit Summary --

  * DEBUG: add a du target during buildtest
  * add the command I used to run
  * Makefile.base: use thin static archives.
  * Makefile.include: add rule to verify thin archives.
  * toolchain/cflags: enable dwarf compression.
  * Merge branch 'thin-archives'

-- File Changes --

    M Makefile.base (4)
    M Makefile.include (53)
    A RUNNING (7)
    M cpu/esp32/Makefile.include (1)
    M cpu/esp8266/Makefile.include (1)
    M makefiles/arch/atmega.inc.mk (1)
    M makefiles/arch/mips.inc.mk (1)
    M makefiles/arch/msp430.inc.mk (1)
    M makefiles/buildtests.inc.mk (2)
    M makefiles/cflags.inc.mk (7)
    M makefiles/docker.inc.mk (1)

-- Patch Links --

https://github.com/RIOT-OS/RIOT/pull/12152.patch
https://github.com/RIOT-OS/RIOT/pull/12152.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/12152
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20190902/345fa88c/attachment.htm>


More information about the notifications mailing list