From: Anil Madhavapeddy <anil@recoil.org>
To: Alain Frisch <alain@frisch.fr>
Cc: Fabrice Le Fessant <Fabrice.Le_fessant@inria.fr>,
Francois Berenger <berenger@riken.jp>,
Ocaml Mailing List <caml-list@inria.fr>
Subject: Re: [Caml-list] from oasis to obuild (original subject was Re: Accelerating compilation)
Date: Mon, 30 Sep 2013 12:19:36 +0100 [thread overview]
Message-ID: <51C2EB73-2567-4A45-811B-5FB7C55C3D1A@recoil.org> (raw)
In-Reply-To: <52495CE3.6050709@frisch.fr>
On 30 Sep 2013, at 12:13, Alain Frisch <alain@frisch.fr> wrote:
> On 9/30/2013 11:13 AM, Anil Madhavapeddy wrote:
>> OASIS runs every single build command through ocamlfind. Moving that
>> to the configure phase gives a big speedup for almost any project
>> with a non-trivial number of source files.
>
> Has someone investigated the overhead induced by ocamlfind? Is it about the extra process, parsing the META files, or something else?
>
> Since both ocamlfind and the compiler come in the form of a library (findlib / compilerlib), it should not be too difficult to merge them into a single executable. If parsing the META files takes time, a cache mechanism in ocamlfind/findlib could help (maybe).
Leo put together a compiler frontend that replaces the standard parsetree with camlp4 that's statically linked: https://github.com/lpw25/ocaml-with-pp
I'm currently untangling the precise camlp4 dependencies needed for a Core build, so I can link a Core js_of_ocaml interactive toplevel for the Real World OCaml website examples. Once that's done, I think linking in findlib as a library and looking at performance is the next step, and then an inotify/kqueue backend, and see how this all looks performance-wise...
-anil
(incidentally, figuring out the precise camlp4 modules and their loading order is a bit staggering, since camlp4 helpfully rewrites the command line flags to load further modules internally depending on the revised/original syntax dance. I'm looking forward to extension_points...)
next prev parent reply other threads:[~2013-09-30 11:19 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-06 13:56 [Caml-list] Accelerating compilation 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 [this message]
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
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=51C2EB73-2567-4A45-811B-5FB7C55C3D1A@recoil.org \
--to=anil@recoil.org \
--cc=Fabrice.Le_fessant@inria.fr \
--cc=alain@frisch.fr \
--cc=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