[Haskell-beginners] garbage collected object

Elise Huard haskell at elisehuard.be
Fri Jan 16 11:23:11 UTC 2015


Sorry, just realized I wasn't very clear:  I mean I was expecting this
bit of code to output "garbage collected" at some point :)

On 16 January 2015 at 11:52, Elise Huard <haskell at elisehuard.be> wrote:
> Thanks! I knew about profiling but System.Mem.Weak is interesting, for
> more specific cases!
>
> I tried a toy example, triggering the GC manually, but I may be doing it wrong:
>
> import System.Mem.Weak
> import System.Mem (performGC)
> import Control.Concurrent (threadDelay)
>
>
> main :: IO ()
> main = do let x = 5
>               y = "done"
>               z = 3
>           a <- mkWeak z x (Just (putStrLn "garbage collected"))
>           performGC
>           threadDelay 20000000
>           print y
>
> Any tips?
> Thanks,
>
> Elise
>
> On 14 January 2015 at 13:17, Ryan Trinkle <ryan.trinkle at gmail.com> wrote:
>> You can use the 'vacuum' package to explore the heap, and you can use
>> System.Mem.Weak to create a reference to something that won't keep it from
>> being GCed and will let you check on it later.  You can also use the
>> built-in heap profiling capabilities to track things like the memory usage
>> of the entire heap from moment to moment.
>>
>> On Wed, Jan 14, 2015 at 5:24 AM, Elise Huard <haskell at elisehuard.be> wrote:
>>>
>>> Hi,
>>>
>>> Maybe a stupid question: is there a way to check whether a particular
>>> data structure (or set of data structures) has been garbage collected?
>>> Or indirectly: is there a way to check what's still alive in the heap,
>>> so that you can potentially diff from one moment to another?
>>> Thanks,
>>>
>>> Elise Huard
>>> _______________________________________________
>>> Beginners mailing list
>>> Beginners at haskell.org
>>> http://www.haskell.org/mailman/listinfo/beginners
>>
>>
>>
>> _______________________________________________
>> Beginners mailing list
>> Beginners at haskell.org
>> http://www.haskell.org/mailman/listinfo/beginners
>>


More information about the Beginners mailing list