Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Xavier Leroy <Xavier.Leroy@inria.fr>
To: Alexey Nogin <nogin@cs.cornell.edu>, caml-list@inria.fr
Cc: Jason Hickey <jyh@cs.cornell.edu>,
	Alexei Kopylov <kopylov@cs.cornell.edu>
Subject: Re: Upgrade from OCaml 2.01 to OCaml 2.02 made things _slower_!
Date: Thu, 11 Mar 1999 10:44:42 +0100	[thread overview]
Message-ID: <19990311104442.30284@pauillac.inria.fr> (raw)
In-Reply-To: <36E73321.D37B49F6@CS.Cornell.EDU>; from Alexey Nogin on Wed, Mar 10, 1999 at 10:06:09PM -0500

> After I upgraded OCaml & Camlp4 from 2.01 to 2.02, our the native code
> of our program became much smaller (5124462 instead of 7219378), but it
> also became a little slower (1.5% - 3.5% for various inputs). Do you
> have an idea what could have caused it?

In the past, I've observed speed variations by at least +/- 5% caused
exclusively by minor variations in code placement (such as adding or
deleting instructions that are never executed).  Almost any
modification in the code generator affects code placement.  If only
for this reason, speed variations of less than 5% are essentially
meaningless: there's no way to attribute them to a particular
otpimization or to good/bad luck in code placement.  (Makes you very
suspicious of those PLDI papers where they report 1% speedups...)

> Also, I was doing some performance mesurements (using P6 performance
> counter support patches for Linux by Erik Hendriks -
> http://beowulf.gsfc.nasa.gov/software/ ) when I upgraded, so I have some
> information (and can get more of it) on the performance counters for my
> program under both 2.01 and 2.02. In particular, the number of requests
> from the processor to the L1 data cache became 2%-3% bigger.

That's more meaningful.  The two new optimizations in 2.02 (closed
toplevel functions and allocation coalescing) should reduce the number
of memory accesses.  Allocation coalescing might increase register
pressure locally, causing other stuff to be spilled on the stack,
though.  Is there any way you could get a per-function profile of
memory requests? (like on the Alpha with the Digital Unix tools).

- Xavier Leroy




  reply	other threads:[~1999-03-11 12:36 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <Xavier.Leroy@inria.fr>
1999-03-05 10:41 ` Objective Caml 2.02 Xavier Leroy
1999-03-05 13:34   ` Camlp4 2.02 Daniel de Rauglaudre
1999-03-05 15:11   ` Objective Caml 2.02 Pierpaolo Bernardi
1999-03-05 19:59   ` doligez
1999-03-11  3:06   ` Upgrade from OCaml 2.01 to OCaml 2.02 made things _slower_! Alexey Nogin
1999-03-11  9:44     ` Xavier Leroy [this message]
1999-03-11 23:59       ` Alexey Nogin
1999-03-13 13:40         ` Anton Moscal
1999-03-24  4:20           ` Alexey Nogin
1999-03-26 11:49             ` Anton Moscal
1999-04-06  2:06       ` Alexey Nogin
1999-04-06  7:53         ` Xavier Leroy
1999-03-11 23:42   ` List.filter in Ocaml 2.02 Alexey Nogin
1999-03-12 10:10     ` Wolfram Kahl
1999-03-12 18:18       ` Alexey Nogin
1999-03-13  2:43       ` David Monniaux
1999-03-12 17:01     ` Jean-Francois Monin
1999-03-12 18:41       ` Alexey Nogin
     [not found]     ` <199903121011.LAA27611@lsun565.lannion.cnet.fr>
1999-03-12 18:37       ` Alexey Nogin
1999-03-15  9:06         ` Jean-Francois Monin
1999-03-06  0:27 Sort.array easily degenerates Markus Mottl
1999-03-09 10:44 ` Xavier Leroy
1999-03-09 23:03   ` doligez
1999-03-10 13:58     ` Xavier Leroy
1999-03-10  0:28   ` Markus Mottl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=19990311104442.30284@pauillac.inria.fr \
    --to=xavier.leroy@inria.fr \
    --cc=caml-list@inria.fr \
    --cc=jyh@cs.cornell.edu \
    --cc=kopylov@cs.cornell.edu \
    --cc=nogin@cs.cornell.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox