Browse thread
[Caml-list] ocaml and large development projects
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Jason Hickey <jyh@c...> |
| Subject: | Re: [Caml-list] ocaml and large development projects |
Traudt, Mark wrote: > I am new to ObjectiveCaml and am wondering whether it has been used for any > large projects (i.e. hundreds of thousands or more lines of code, possible > >>100 modules)? If so, how well has it scaled, in terms of performance, > > memory usage, compile time, and any other relevant characteristics? If not, > is this because there are known issues that would prevent it from being > effectively used beyond a certain size project? We use OCaml in several projects. Two of them are in the medium-sized category: a compiler (mojave.caltech.edu, ~300K lines), and a theorem prover (metaprl.org, ~250K lines). Together, about 3000 files, 50-100 functors. The OCaml toolset scales well, with no real issues. Compile time appears to scale linearly in the size of the project, with a slight exception for linking. Typical numbers are 3-10min (it depends on the project) for a full native-code build, about 10sec link time, on a 1GHz PIII-class machine, Linux, 256MB. I haven't measured memory usage; it hasn't been an issue. One issue to be aware of: if you build native code, when you change a module, then all dependent modules must be recompiled. This can be surprising when a small change to a utility module causes a near full recompile of the project. The byte-code compiler does not have this issue, and is sufficient for testing in most cases. Jason -- Jason Hickey http://www.cs.caltech.edu/~jyh Caltech Computer Science Tel: 626-395-6568 FAX: 626-792-4257 ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners