Version française
Home     About     Download     Resources     Contact us    
Browse thread
optimizing trivial functions
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Dmitry Bely <dmitry.bely@g...>
Subject: Re: [Caml-list] optimizing trivial functions
On 11/26/06, Sean McLaughlin <seanmcl@cmu.edu> wrote:

> >   Will the Ocaml compiler optimize the following code to let y = ()?
> > I'm designing a program that will depend heavily on whether this code
> > is optimized in this way.
> >
> > let f x1 x2 ... x100 = ()
> > let y = f x1 ... x100

Yes, ocamlopt can do that.

> To answer my own question, of course it can't do that, because the
> arguments could have side effects.
>
> f (print_int 5) ...

So what? The arguments will be evaluated but the function call will be
optimized away.

I guess you are trying to implement some debugging that can be
switched off in the release version? If so, the following might be
interesting for you:

http://caml.inria.fr/pub/ml-archives/caml-list/2003/09/f2bf1cc8545d5e073638bd70d02b5056.en.html

- Dmitry Bely