Skip to content

Instantly share code, notes, and snippets.

@tlwalker
Created January 20, 2011 19:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tlwalker/788418 to your computer and use it in GitHub Desktop.
Save tlwalker/788418 to your computer and use it in GitHub Desktop.
iterator block gotcha sample code - F# equivalent
// Learn more about F# at http://fsharp.net
open System
let showMemory( msg : string) =
let memory = GC.GetTotalMemory(true)
Console.WriteLine("{0, -30} {1}", msg + ":", memory)
let main ()=
let source = seq {0 .. 1000000}
let query = Seq.distinct source
showMemory("Before Count()")
Seq.length query |> ignore
showMemory("After Count()")
GC.KeepAlive(query)
showMemory("After query eligible for GC")
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment