caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Size of .cmo / .cmi workload of the compiler
@ 2015-08-19 15:38 Christoph Höger
  2015-08-20  9:12 ` Fabrice Le Fessant
  2015-08-20  9:21 ` Goswin von Brederlow
  0 siblings, 2 replies; 3+ messages in thread
From: Christoph Höger @ 2015-08-19 15:38 UTC (permalink / raw)
  To: caml-list

Dear all,

I autogenerate a rather large (> 12k) set of ocaml modules containing
classes which are parameterized over their final representation to allow
for hierarchic classes with polymorphic open recursion.

My compilation scheme seems to work well in principle, but I am reaching
a frustrating limit in practice: The compilation of the generated ml
files seems to run superlinear (in fact it seems to depend on the
hierarchical location of a class). As it turns out, the generated .cmo
and .cmi files are quite large (up to several hundreds of kb). When I
generate the .mli files or dump the .cmo files however, the output is
quite small (several hundred instructions in the bytecode, the .mli file
contains quite complex objects but still human readable).

Is there any known issue that leads to:

1. non-linear runtime when compiling inter-module classes
2. huge .cmo files outside of the actual bytecode

The generated source code can be found here:

https://www.dropbox.com/s/cllc0xikv9zwu1k/doesnotscale.tar.bz2?dl=0

To test the behavior, unpack and run

ocamlbuild ModelicaXX5FElectricalXX5FMachines.cmo

(there might be type-errors in the generated files somewhere, though).

Any advice or comments are deeply appreciated.

Christoph

-- 
Christoph Höger

Technische Universität Berlin
Fakultät IV - Elektrotechnik und Informatik
Übersetzerbau und Programmiersprachen

Sekr. TEL12-2, Ernst-Reuter-Platz 7, 10587 Berlin

Tel.: +49 (30) 314-24890
E-Mail: christoph.hoeger@tu-berlin.de

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

end of thread, other threads:[~2015-08-20  9:21 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-19 15:38 [Caml-list] Size of .cmo / .cmi workload of the compiler Christoph Höger
2015-08-20  9:12 ` Fabrice Le Fessant
2015-08-20  9:21 ` Goswin von Brederlow

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