dll-split

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

dll-split

lonetiger

Hi All,

 

I have just killed off dll-split, this means that you no longer need to maintain a list

of modules in GHC.mk.

 

If you’re a non-Windows programmer you can stop reading here, for those that build on Windows:

 

The replacement for dll-split is called gen-dll, and it is able to automatically partition any library we build, so this issue is hopefully solved once and for all.

 

Currently dynamic linking is still turned off as I have a few more patches to upstream. When I do turn it on, by default you will get a large ~45min hit in compile time. This is because dlltool which BFD based is quite slow.

 

To mitigate this gen-dll supports the use of the msys2 project’s genlib tool. This tool finishes in seconds instead of tens of minutes like dlltool.

 

To install it just run pacman -Sy mingw-w64-$(uname -m)-tools-git

 

The wiki pages have been updated accordingly already. If you install this now you won’t notice any difference in build time later.

 

Thanks,
Tamar

 


_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

Re: dll-split

Ryan Scott
Thanks for putting so much effort into this work, Tamar!

> When I do turn it on, by default you will get a large ~45min hit in compile time.

Yikes, that's really bad! Bad enough that I have to wonder: would it
be worth including genlib among the other executables that we bundle
with GHC? Fortunately, us GHC developers have the foresight to know
that we should install genlib, but I imagine less informed Windows
users probably won't get the memo and will start to wonder why
compilation became so slow all of a sudden.

Ryan S.
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

Re: dll-split

Ara Adkins
With a hit like that I think it should at least be highly publicised that it can cause huge hits to compilation time. I would support bundling the executable if it has a compatible license. 

_ara

On Wed, Aug 30, 2017 at 3:19 PM, Ryan Scott <[hidden email]> wrote:
Thanks for putting so much effort into this work, Tamar!

> When I do turn it on, by default you will get a large ~45min hit in compile time.

Yikes, that's really bad! Bad enough that I have to wonder: would it
be worth including genlib among the other executables that we bundle
with GHC? Fortunately, us GHC developers have the foresight to know
that we should install genlib, but I imagine less informed Windows
users probably won't get the memo and will start to wonder why
compilation became so slow all of a sudden.

Ryan S.
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

Re: dll-split

lonetiger
That's certainly a possibility, though note that this is only an issue for compiling stage2, not end user programs.
Since it's only for compiling ghc we don't have to include it in the bindist so license would be less of an issue I think.

I'll modify the scripts to pull it automatically when I submit the rest of the patches.

Thanks,
Tamar

On Wed, Aug 30, 2017 at 3:25 PM Ara Adkins <[hidden email]> wrote:
With a hit like that I think it should at least be highly publicised that it can cause huge hits to compilation time. I would support bundling the executable if it has a compatible license. 

_ara

On Wed, Aug 30, 2017 at 3:19 PM, Ryan Scott <[hidden email]> wrote:
Thanks for putting so much effort into this work, Tamar!

> When I do turn it on, by default you will get a large ~45min hit in compile time.

Yikes, that's really bad! Bad enough that I have to wonder: would it
be worth including genlib among the other executables that we bundle
with GHC? Fortunately, us GHC developers have the foresight to know
that we should install genlib, but I imagine less informed Windows
users probably won't get the memo and will start to wonder why
compilation became so slow all of a sudden.

Ryan S.
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

Re: dll-split

Ara Adkins
That’s a very good point, and should be a good solution for now. 

_ara

On 30 Aug 2017, at 18:28, Phyx <[hidden email]> wrote:

That's certainly a possibility, though note that this is only an issue for compiling stage2, not end user programs.
Since it's only for compiling ghc we don't have to include it in the bindist so license would be less of an issue I think.

I'll modify the scripts to pull it automatically when I submit the rest of the patches.

Thanks,
Tamar

On Wed, Aug 30, 2017 at 3:25 PM Ara Adkins <[hidden email]> wrote:
With a hit like that I think it should at least be highly publicised that it can cause huge hits to compilation time. I would support bundling the executable if it has a compatible license. 

_ara

On Wed, Aug 30, 2017 at 3:19 PM, Ryan Scott <[hidden email]> wrote:
Thanks for putting so much effort into this work, Tamar!

> When I do turn it on, by default you will get a large ~45min hit in compile time.

Yikes, that's really bad! Bad enough that I have to wonder: would it
be worth including genlib among the other executables that we bundle
with GHC? Fortunately, us GHC developers have the foresight to know
that we should install genlib, but I imagine less informed Windows
users probably won't get the memo and will start to wonder why
compilation became so slow all of a sudden.

Ryan S.
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs