23.10.2017 14:02, Martin Nowak пишет:
On Monday, 23 October 2017 at 06:05:50 UTC, drug wrote:
20.10.2017 17:46, Martin Nowak пишет:
My 2 cent:
1. dub needs ability to work with other repository than standard ones.
You mount or clone whatever you want and use `dub add-local`.
This is workaround. Now I have bash script that does all I need, but it
would be better if I should only specify my inhouse repos.
2. multicore building - entire project in D builds faster than C++ one
(I have two implementation of the same), but in case of incremental
building C++ faster.
I always assumed this to be the main point why people are asking for a
better build tool, but it's not sth. dub can do atm. It's a limitation
of the compiler that requires various changes and a slight redesign of
our build model.
In C++ incremental rebuilds are simple as you compile each file
individually anyhow, but that's the crux for why C++ compilations are so
slow in the first place.
Compiling multiple modules at once provides lots of speedups as you do
not have to reparse and analyze common/mutual imports, but on the
downside it cannot be parallelized that well.
I just build my project and it's silly to look at `top` output where
seven cores idles while build takes tens of seconds. While building C++
project loads cores fully. I have no clear and robust opinion on this,
considering you wrote above, but nevertheless.
Dub could parallelize building individual packages/sub-packages (target
+ dependencies) right now though.
I should try it.
3. dub single build mode does not caches builds so it builds entire
project every time.
Could you please file an issue with a test case for that.
Why do you use single build mode in the first place?
I have several utilities each of them is about 50 lines (including
comment to enable single build mode) and I think this is case for single
mode exactly. They are wrappers of rather fat library and building them
takes about a minute what is too long for D.
I do not state that it prevents D from enterprises etc, not at all. I'm
sure that restructuring my project can improve building time too, for
example. Just directions where we can do more to improve tooling.