Re: Garbage collecting CAFs
Hi John, Obviously the Simons are most qualified to answer this, however, perhaps the following document (page 44-46) is sufficient to explain this: http://www.haskell.org/ghc/docs/papers/run-time-system.ps.gz it was a draft document that wasn't quite finished and was aimed at GHC 4.xx. I believe much of it is still applicable (except wrt evaluation where the eval-apply mechanism is used over push-enter). HTH Andy On Tue, 20 Sep 2005, John Meacham wrote: >I have seen numerous references to CAFs not used to being garbage >collected in ghc leading to various contortions of the optimizer to keep >from generating them and possible space leaks... then "something" was >done and they are now collected.. I am curious what paper (or list >message?) describes what that "something" is and what it entails in >terms of tradeoffs. thanks. >John > > >-- >John Meacham - ⑆repetae.net⑆john⑈ >___ >Glasgow-haskell-users mailing list >Glasgow-haskell-users@haskell.org >http://www.haskell.org/mailman/listinfo/glasgow-haskell-users > ********* * Andrew Cheadleemail: [EMAIL PROTECTED] * * Department of Computing http://www.doc.ic.ac.uk/~amc4/ * * Imperial College * * University of London * * ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: Can't compile GHC
Well Robert Dockins gave you an excellent explanation. You're just unlucky at the moment with 6.4. 6.2.2 is excellent - for various reasons I've had to stick with it for completion of some of my research. >Having the compiler able to compile itself, yes. Making that the only >way to compile it, that's another thing. The .hc files exist for this reason. However for a popular platforms this isn't usually a problem, someone does the port quite quickly. You're just particularly unlucky with 6.4 since there has been substantial reworking of the internals. Andy ********* * Andrew Cheadleemail: [EMAIL PROTECTED] * * Department of Computing http://www.doc.ic.ac.uk/~amc4/ * * Imperial College * * University of London * * ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: Can't compile GHC
Daniel While I'm sure many understand and sympathise with your pain I wonder if you're being a little harsh. I mean who's really using Solaris these days? :-p ok,ok, lots of people (but will they really continue to - we dropped it from our labs long ago). Having said that, how many people don't have access to a Windoze or Linux / box - very few. GHC works like a dream 'straight out of the box' on the supported platforms and the GHC team put a lot of effort in to making sure this is so! >Some software isn't user friendly. But I think that a compiler requiring >itself to compile is actively user hostile. While this might be true, having a compiler compile itself is massively important - many like to say (and I completely agree) that you are 'forced to eat your own dog food'. What better way to stress your compiler and optimiser? >At this point I decide that I'll teach people Python instead of Haskell. >I don't particularly like Python, but hey, it works. It'd really depend on the purpose for which you are 'teaching' people as to which language makes more sense... I for one am very glad that I was taught Miranda (Haskell has now replaced it here at Imperial) with it's clean functional syntax... Cheers Andy * * Andrew Cheadleemail: [EMAIL PROTECTED] * * Department of Computing http://www.doc.ic.ac.uk/~amc4/ * * Imperial College * * University of London * * ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: GC behaviour in GHC
Nivia, Don has mentioned most of the documentation about GC work in GHC except for: Generational garbage collection for Haskell - Sansom, Peyton Jones http://citeseer.nj.nec.com/sansom93generational.html There isn't really a paper on the performance of GHC's current generational / compacting collector. I do have one in progress which relates to further work I've been doing on the implementation of the incremental collector. (The incremental collector is not currently available in a GHC release). If you have specific questions feel free to ask and I'll try to answer the to my best ability. What kind of applications are you working with that make them time critical - Do you want to increase user responsiveness and reduce pause times or have the programs run as fast as possible? I'm assuming you want the latter. Have you tried playing with GHC's various tunable GC parameters? Cheers Andy On Sun, 22 Feb 2004, Donald Bruce Stewart wrote: >niviaquental: >> >>Hello, GHC users, >> >>I'm a Computational Engineering student in the University of >>Pernambuco (Brazil). In my research, I'm working with >>applications written in Haskell , where time is a critical >>factor. But there is a pretty high GC overhead I can't >>understand . Can someone indicate some paper or >>reference about the GC behaviour in GHC? > >Well, I know of a couple: > >The workings of the incremental garbage collector: >http://research.microsoft.com/~simonpj/Papers/inc-gc.htm > >The runtime system document also mentions GC: >http://www.haskell.org/ghc/docs/papers/run-time-system.ps.gz > >There are probably more references at: >http://www.haskell.org/ghc/documentation.html > >-- Don >___ >Glasgow-haskell-users mailing list >[EMAIL PROTECTED] >http://www.haskell.org/mailman/listinfo/glasgow-haskell-users > * * Andrew Cheadleemail: [EMAIL PROTECTED] * * Department of Computing http://www.doc.ic.ac.uk/~amc4/ * * Imperial College * * University of London * * ___ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: scavenge_mutable_list: strange object?
Johannes, I think Simon M who could help you with this is away, so I'll try and help you in the short term. This is most likely a bug in the generational garbage collector. I'm guessing you can't reproduce the problem very easily? If it happens say 7 in 10 times, I can have a look at it for you if you send the code over with instructions to cause failure. One thing you can try to prevent this is to use the semi-space collector instead of the generational: Specifying 1 generation with +RTS -G1 gives you a simple 2-space collector, as you would expect. In a 2-space collector, the -A option (see above) specifies the minimum allocation area size, since the allocation area will grow with the amount of live data in the heap. In a multi-generational collector the allocation area is a fixed size (unless you use the -H option, see below). Hope that helps. Cheers Andy On Wed, 9 Jul 2003, Johannes Waldmann wrote: >I sometimes get this error: > >> internal error: scavenge_mutable_list: strange object? 3 > >( large program, running on debian linux on i368, compiled with >ghc-6.0 -pgmc gcc-2.95 --make -O2 -fvia-C -funbox-strict-fields ) > >what can I do to a) work around this, b) help finding/fixing the reason? >-- >-- Johannes Waldmann http://www.informatik.uni-leipzig.de/~joe/ -- >-- [EMAIL PROTECTED] -- phone/fax (+49) 341 9732 204/209 -- > >___ >Glasgow-haskell-users mailing list >[EMAIL PROTECTED] >http://www.haskell.org/mailman/listinfo/glasgow-haskell-users > ********* * Andrew Cheadleemail: [EMAIL PROTECTED] * * Department of Computing http://www.doc.ic.ac.uk/~amc4/ * * Imperial College * * University of London * * ___ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users