caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* A Question About Types and Inlining
@ 2006-12-08 23:13 Jim Grundy
       [not found] ` <4579F655.3030307@philippewang.info>
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Jim Grundy @ 2006-12-08 23:13 UTC (permalink / raw)
  To: caml-list

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2006-12-10  6:25 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-12-08 23:13 A Question About Types and Inlining Jim Grundy
     [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

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).