[vibe] what's wrong with linking time of vibe applications?

Dmitry Ponyatov dponyatov at gmail.com
Fri Dec 22 19:12:14 UTC 2023


D lang noted as having a very fast compilation time.

Playing with tiny web-interface apps I found that modern versions 
of dmd & vibe has such a fast compiling but a very long 
executable linking time.

Something like 2-3 seconds of compiling stage (with vibe 
prebuilt), and 24 seconds of total build time

```
dponyatov at i7:~/wad$ time dub build
```
```
      Pre-gen Running commands for openssl
     Starting Performing "debug" build using /usr/bin/dmd for 
x86_64.
   Up-to-date fswatch 0.6.1: target for configuration [library] is 
up to date.
   Up-to-date mir-linux-kernel 1.0.1: target for configuration 
[library] is up to date.
   Up-to-date taggedalgebraic 0.11.22: target for configuration 
[library] is up to date.
   Up-to-date eventcore 0.9.27: target for configuration [epoll] 
is up to date.
   Up-to-date stdx-allocator 2.77.5: target for configuration 
[library] is up to date.
   Up-to-date vibe-container 1.0.1: target for configuration 
[library] is up to date.
   Up-to-date vibe-core 2.6.0: target for configuration [epoll] is 
up to date.
   Up-to-date vibe-d:crypto 0.9.7: target for configuration 
[library] is up to date.
   Up-to-date vibe-d:utils 0.9.7: target for configuration 
[library] is up to date.
   Up-to-date vibe-d:data 0.9.7: target for configuration 
[library] is up to date.
   Up-to-date diet-ng 1.8.1: target for configuration [library] is 
up to date.
   Up-to-date vibe-d:stream 0.9.7: target for configuration 
[library] is up to date.
   Up-to-date vibe-d:textfilter 0.9.7: target for configuration 
[library] is up to date.
   Up-to-date vibe-d:inet 0.9.7: target for configuration 
[library] is up to date.
   Up-to-date vibe-d:tls 0.9.7: target for configuration [openssl] 
is up to date.
   Up-to-date vibe-d:http 0.9.7: target for configuration 
[library] is up to date.
   Up-to-date vibe-d:mail 0.9.7: target for configuration 
[library] is up to date.
   Up-to-date vibe-d:mongodb 0.9.7: target for configuration 
[library] is up to date.
   Up-to-date vibe-d:redis 0.9.7: target for configuration 
[library] is up to date.
   Up-to-date vibe-d:web 0.9.7: target for configuration [library] 
is up to date.
   Up-to-date vibe-d 0.9.7: target for configuration [library] is 
up to date.
     Building wad ~shadow: building configuration [application]
Compiling Diet HTML template index.dt...
Compiling Diet HTML template about.dt...
Compiling Diet HTML template error.dt...
      Linking wad
     Finished To force a rebuild of up-to-date targets, run again 
with --force
```
```
real    0m24.748s
user    0m19.133s
sys     0m2.565s
```


More information about the Digitalmars-d-learn mailing list