caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Jim Grundy <jim_grundy@ichips.intel.com>
To: caml-list@yquem.inria.fr
Subject: A Question About Types and Inlining
Date: Fri, 08 Dec 2006 15:13:40 -0800	[thread overview]
Message-ID: <4579F1A4.6080606@ichips.intel.com> (raw)

Apologies in advance for a naive question...

I'm working on a SAT solver in OCaml.  The solver has various types, 
like three-valued bools, variables, literals.  I have modules that 
encapsulate these types and the operations on them.

Now, as it turns out, all these types are represented as ints, but the 
other modules that use those types don't need to know that - and as a 
matter of taste I'd rather not expose this.

The signatures of these modules currently contain lines like this:

type variable (* = int *)

If I uncomment all instances of (* = int *) and reveal the 
representation to the compiler then I get a ... 36% performance 
improvement in the SAT solver.

I have two questions:

1/ Is there some way I can reveal this representation to the parts of 
the system that clearly need it for effective optimization, without 
opening this up for general use.

2/ Failing that, has someone got a pleasant method of doing conditional 
compilation so that I can switch these comments on and off with ease?

I'm using version 3.09.2 of ocamlopt.

Thanks in advance

Jim


-- 
Jim Grundy, Research Scientist. Intel Corporation, Strategic CAD Labs
Mail Stop RA2-451, 2501 NW 229th Ave, Hillsboro, OR 97124-5503, USA
Phone: +1 971 214-1709   Fax: +1 971 214-1771
http://www.intel.com/technology/techresearch/people/bios/grundy_j.htm
Key Fingerprint: 5F8B 8EEC 9355 839C D777  4D42 404A 492A AEF6 15E2


             reply	other threads:[~2006-12-08 23:13 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-08 23:13 Jim Grundy [this message]
     [not found] ` <4579F655.3030307@philippewang.info>
     [not found]   ` <4579F8E1.6070604@ichips.intel.com>
2006-12-09  0:07     ` [Caml-list] " Philippe Wang
2006-12-09  0:55 ` Eric Cooper
2006-12-09  1:16   ` Philippe Wang
2006-12-09  1:31     ` Eric Cooper
2006-12-09  9:28   ` Jon Harrop
2006-12-09 11:28 ` Andrej Bauer
2006-12-09 13:12 ` Nicolas Pouillard
2006-12-10  6:27 ` Christian Stork

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=4579F1A4.6080606@ichips.intel.com \
    --to=jim_grundy@ichips.intel.com \
    --cc=caml-list@yquem.inria.fr \
    /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;
as well as URLs for NNTP newsgroup(s).