
On Wed, Nov 27, 2002 at 09:50:56AM -0000, Simon Marlow wrote:
More fun with Haskell-in-the-large: linking time has become the main bottleneck in our development cycle. The standard solution would be to use an incremental linker, but it seems that gnu does not yet support this:-|
Hmm, I've never heard of linking being a bottleneck.
The runtime loader stuff I'm working on[1] takes around 10 seconds to compile ... and 3 minutes to link it with libHSbase and libHSrts. (This is on a 500MHz PIII). Linking is a huge bottleneck once you start linking in the Haskell libraries; ld takes up enormous amounts of CPU time resolving symbols, I think.
1. http://www.algorithm.com.au/wiki/hacking/haske> ll.ghc_runtime_loading
3 minutes???!! I just downloaded your example code, did './configure && make' and the link step took about 3 seconds. This is also on a 500MHz PIII. Are you sure you're not getting libHSbase over NFS? There may be something that ld is doing that causes a lot of NFS traffic. Cheers, Simon

On Wed, 27 Nov 2002 15:20:44 -0000
"Simon Marlow"
The runtime loader stuff I'm working on[1] takes around 10 seconds to compile ... and 3 minutes to link it with libHSbase and libHSrts. (This is on a 500MHz PIII). Linking is a huge bottleneck once you start linking in the Haskell libraries; ld takes up enormous amounts of CPU time resolving symbols, I think. 3 minutes???!!
I just downloaded your example code, did './configure && make' and the link step took about 3 seconds. This is also on a 500MHz PIII.
Are you sure you're not getting libHSbase over NFS? There may be something that ld is doing that causes a lot of NFS traffic.
I was getting the same thing when doing the runtime loader stuff. I'm definately not using NFS, it's a stand-alone linux machine. Mind you the runtime loader stuff is not exactly normal use of the linker and ghc's library system. It links .o files in directly, bypassing packages and such. Duncan

I too am getting link times in the several minutes range for my modestly sized project, I am on a standalone dual-cpu redhat linux box with 5.04.1 (no nfs, no nuttin') the project is available at http://repetae.net/john/computer/ginsu/ I think there is definatly something fishy going on. I don't remember linking always taking this long, I just assumed I added a bunch of code to my project or something but linking takes longer than all the other compilation stages combined. John On Wed, Nov 27, 2002 at 03:20:44PM -0000, Simon Marlow wrote:
On Wed, Nov 27, 2002 at 09:50:56AM -0000, Simon Marlow wrote:
More fun with Haskell-in-the-large: linking time has become the main bottleneck in our development cycle. The standard solution would be to use an incremental linker, but it seems that gnu does not yet support this:-|
Hmm, I've never heard of linking being a bottleneck.
The runtime loader stuff I'm working on[1] takes around 10 seconds to compile ... and 3 minutes to link it with libHSbase and libHSrts. (This is on a 500MHz PIII). Linking is a huge bottleneck once you start linking in the Haskell libraries; ld takes up enormous amounts of CPU time resolving symbols, I think.
1. http://www.algorithm.com.au/wiki/hacking/haske> ll.ghc_runtime_loading
3 minutes???!!
I just downloaded your example code, did './configure && make' and the link step took about 3 seconds. This is also on a 500MHz PIII.
Are you sure you're not getting libHSbase over NFS? There may be something that ld is doing that causes a lot of NFS traffic.
Cheers, Simon _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
-- --------------------------------------------------------------------------- John Meacham - California Institute of Technology, Alum. - john@foo.net ---------------------------------------------------------------------------
participants (3)
-
Duncan Coutts
-
John Meacham
-
Simon Marlow