On Wednesday, 28 June 2017 at 12:15:17 UTC, Johannes Pfau wrote:
Have you already tried -fsyntax-only to remove the backend
computation?
time arm-none-eabi-gdc -c -O3 -fsyntax-only -nophoboslib
-nostdinc -nodefaultlibs -nostdlib -fno-emit-moduleinfo -mthumb
-mcpu=cortex-m4 -Isource/runtime -fno-bounds-check
-fno-invariants -fno-in -fno-out -ffunction-sections
-fdata-sections source/gcc/attribute.d source/board/package.d
source/board/ILI9341.d source/board/lcd.d source/board/spi5.d
source/board/statusLED.d source/board/random.d
source/board/ltdc.d source/stm32f42/bus.d source/stm32f42/scb.d
source/stm32f42/trace.d source/stm32f42/dma2d.d
source/stm32f42/spi.d source/stm32f42/pwr.d source/stm32f42/rcc.d
source/stm32f42/rng.d source/stm32f42/nvic.d
source/stm32f42/mmio.d source/stm32f42/flash.d
source/stm32f42/gpio.d source/stm32f42/ltdc.d source/main.d -o
binary/firmware.o
real 0m1.858s
user 0m1.157s
sys 0m0.241s
Does that indicate a backend problem? If you look at my previous
post, linking was also quite high at 33s.
Also which DMD version did you use for comparison? I'd try
2.068 (if your code compiles with that version) and 2.071.2.
There may have been other changes in newer frontend versions
improving build performance.
dmd --version
DMD64 D Compiler v2.074.0
Mike