From: Francois Berenger <berenger@riken.jp>
To: caml-list@inria.fr
Subject: Re: [Caml-list] Accelerating compilation
Date: Mon, 09 Sep 2013 17:36:52 +0900 [thread overview]
Message-ID: <522D88A4.4080106@riken.jp> (raw)
In-Reply-To: <522D838B.8050203@inria.fr>
On 09/09/2013 05:15 PM, Romain Bardou wrote:
> Le 06/09/2013 20:45, Martin Jambon a écrit :
>> On 09/06/2013 06:56 AM, Romain Bardou wrote:
>>> Hello list,
>>>
>>> As my project grows bigger, it is becoming much less efficient to use
>>> the type-checker to quickly find places in my code which must be updated
>>> (e.g. pattern-matching). Here is a wishlist for improvements.
>>>
>>> 1) Separate typing and code generation, in ocamlc and in ocamlopt
>>>
>>> For instance, provide an option -typing-only which would mean "only
>>> produce the .cmi but do not produce the .cmo or the .cmx". The compiler
>>> would only need the .cmi of the dependencies, not their .cmo or .cmx.
>>> This would make it possible to have a Makefile target, or an Ocamlbuild
>>> option, to just type.
>>>
>>> Also, provide an option -do-not-retype which would mean "if the .cmi
>>> exists, load it instead of type-checking again". This would allow the
>>> build process to first type-check (using -typing-only) and then generate
>>> the code without type-checking again (using -do-not-retype). Of course
>>> the build system should be very careful to ensure the .cmi is
>>> up-to-date. This option could also help when compiling both in bytecode
>>> and in native code. This option is not necessary to just find errors
>>> quickly, though.
>>>
>>> 2) Be able to disable Ocamlbuild's digest mechanism and use dates and
>>> file sizes instead
>>>
>>> If I am not mistaken, this is one of the main reasons why Ocamlbuild is
>>> slower that make.
>>
>> It would be interesting to know the size of your project and the time it
>> takes to build it.
>
> There are about 30K lines of code in the core of the project, which is
> well-split in a rather large number of files (Ocamlbuild reports about
> 400 targets). It takes about 30s to compile in native mode using the
> native compilers.
>
> It might seem very small compared to say, Coq :) But still, having to
> wait ~10s just to find the next pattern-matching to fix is already
> annoying and it will only get worse.
Isn't the merlin tool able to do that: show compilation errors as you type?
I don't use merlin that much but thought it was.
next prev parent reply other threads:[~2013-09-09 8:36 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-06 13:56 Romain Bardou
2013-09-06 14:55 ` Markus Mottl
2013-09-06 15:19 ` Romain Bardou
2013-09-06 15:27 ` Gabriel Scherer
2013-09-06 15:33 ` Alain Frisch
2013-09-06 20:51 ` Fabrice Le Fessant
2013-09-09 7:44 ` Romain Bardou
2013-09-11 13:00 ` Francois Berenger
2013-09-11 13:46 ` Wojciech Meyer
2013-09-12 1:23 ` Francois Berenger
2013-09-12 15:15 ` Jacques Le Normand
2013-09-30 8:06 ` [Caml-list] from oasis to obuild (original subject was Re: Accelerating compilation) Francois Berenger
2013-09-30 8:18 ` Török Edwin
2013-09-30 9:00 ` Fabrice Le Fessant
2013-09-30 9:13 ` Anil Madhavapeddy
2013-09-30 11:13 ` Alain Frisch
2013-09-30 11:19 ` Anil Madhavapeddy
2013-09-30 11:27 ` Alain Frisch
2013-09-30 11:36 ` Anil Madhavapeddy
2013-09-30 9:18 ` Francois Berenger
2013-09-30 14:11 ` Sylvain Le Gall
2013-10-01 0:57 ` Francois Berenger
2013-10-01 12:25 ` Sylvain Le Gall
2013-09-07 11:37 ` [Caml-list] Accelerating compilation Matej Kosik
2013-09-08 6:37 ` Francois Berenger
2013-09-06 15:18 ` Gabriel Scherer
2013-09-06 15:28 ` Romain Bardou
2013-09-06 16:04 ` Markus Mottl
2013-09-06 16:30 ` Xavier Leroy
2013-09-07 19:13 ` Wojciech Meyer
2013-09-07 21:42 ` Jacques-Pascal Deplaix
2013-09-08 1:59 ` Markus Mottl
2013-09-09 7:59 ` Romain Bardou
2013-09-09 8:25 ` Alain Frisch
2013-09-09 8:35 ` Francois Berenger
2013-09-09 10:13 ` Anil Madhavapeddy
2013-09-09 17:08 ` Adrien Nader
2013-09-09 17:17 ` Gabriel Kerneis
2013-09-10 2:01 ` oleg
2013-09-10 10:21 ` Gerd Stolpmann
2013-09-10 16:15 ` Adrien Nader
2013-09-10 16:46 ` Xavier Leroy
2013-09-10 16:53 ` Adrien Nader
2013-09-10 17:43 ` ygrek
2013-09-06 18:45 ` Martin Jambon
2013-09-09 8:15 ` Romain Bardou
2013-09-09 8:36 ` Francois Berenger [this message]
2013-09-09 8:41 ` Thomas Refis
2013-09-09 17:32 ` Aleksey Nogin
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=522D88A4.4080106@riken.jp \
--to=berenger@riken.jp \
--cc=caml-list@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