Version française
Home     About     Download     Resources     Contact us    
Browse thread
Question about float refs.
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Christophe TROESTLER <Christophe.Troestler+ocaml@u...>
Subject: Re: [Caml-list] Question about float refs.
On Thu, 19 Aug 2010 07:52:33 -0400, Ethan Burns wrote:
> 
> let r = ref 0.0 ;;
> for i = 0 to 1000000000 do r := float i done;
> Printf.printf "%f\n" !r;
> Printf.printf "words: %f\n" (Gc.stat ()).Gc.minor_words

To add a precision to others' answers : float refs are unboxed
_locally_.  If you rewrite your code as 

let r = ref 0.0 in
for i = 0 to 1000_000_000 do r := float i done;
Printf.printf "%f\n" !r;
Printf.printf "words: %f\n" (Gc.stat ()).Gc.minor_words

then it runs at about the same speed as you other version.

My 0.02¤,
C.